Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56787 - in sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html: . images
From: barend.gehrels_at_[hidden]
Date: 2009-10-13 12:20:48


Author: barendgehrels
Date: 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
New Revision: 56787
URL: http://svn.boost.org/trac/boost/changeset/56787

Log:
Added doc and example folders
Some doc changes in sources plus some moves to extension
Added:
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__convex__hull_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__convex__hull_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/annotated.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign__box__corner_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign__box__corner_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/base_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/base_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/boost__array__as__linestring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/boost__array__as__linestring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/boost__array__as__ring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/boost__array__as__ring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c01__custom__point__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c02__custom__box__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c05__custom__point__pointer__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array__cartesian_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array__cartesian_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__compare_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__compare_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__envelope_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__envelope_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid_polygon.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid_ring.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/circular__iterator_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/circular__iterator_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/class_point_list.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classcore__dispatch_1_1dimension.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classes.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1degree.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linestring-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linestring.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1nsphere-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1nsphere.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1radian.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1ll__point__segment-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1ll__point__segment.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer.html (contents, props changed)
   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-members.html (contents, props changed)
   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 (contents, props changed)
   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-members.html (contents, props changed)
   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 (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clip_linestring.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clip_polygon.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clip_segment_segment.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_box_box.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_box_point.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/compiling.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/concepts.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convexhull_polygon_polygon.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__dimension_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__dimension_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__system_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__system_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2is__multi_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2is__multi_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2ring__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2ring__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cs_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cs_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/de9im_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/de9im_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/design.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/direction_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/direction_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/disjoint_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/disjoint_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__result_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__result_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/download.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen.css (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__design__cross__section_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__design__cross__section_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__examples_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__examples_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__mainpage_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__mainpage_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dsv.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/envelope_polygon.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/equals_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/equals_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ever__circling__iterator_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ever__circling__iterator_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/examples.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exception_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exception_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/files.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/foreach_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/foreach_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x62.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x63.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x64.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x65.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x66.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x67.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x68.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x69.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6c.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6d.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6e.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6f.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x70.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x72.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x73.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x74.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x75.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x76.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x77.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x78.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x79.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x7e.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_rela.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_vars.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/geometries_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/geometries_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__cs__as__radian_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__cs__as__radian_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals_defs.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__access.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__area.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__arithmetic.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__boolean__relations.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__buffer.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__centroid.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__combine.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__concepts.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convert.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convex__hull.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__core.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__cs.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__distance.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__envelope.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__intermediate.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__length.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__loop.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__overlay.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__perimeter.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__sectionalize.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__selected.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__simplify.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__svg.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__traits.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__transform.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__utility.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/haversine_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/haversine_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/hierarchy.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/images/
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/images/draft.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/images/ggl-logo-big.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/images/proposed_boost.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/index.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__linestring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__linestring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__result_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__result_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersects_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersects_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/is__linear_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/is__linear_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2point__const__iterator_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2point__const__iterator_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/less_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/less_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/loop_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/loop_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/make_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/make_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/map__transformer_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/map__transformer_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/math_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/math_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/modify__with__predicate_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/modify__with__predicate_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/modules.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2distance_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2distance_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2intersection_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2intersection_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2length_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2length_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2num__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2num__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2sectionalize_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2sectionalize_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2transform_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2transform_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2geometry__id_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2geometry__id_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2is__multi_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2is__multi_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2point__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2point__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2ring__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2ring__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2topological__dimension_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2topological__dimension_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2point__const__iterator_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2point__const__iterator_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__point_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__point_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__sum_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__sum_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1cs.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1math.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1policies.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1policies_1_1relate.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1area.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1centroid.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1compare.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1convex__hull.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1distance.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1envelope.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1envelope_1_1shift.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1intersection.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1side.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1simplify.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1transform.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1within.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1traits.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_func.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_vars.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaces.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/not_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/not_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ogc.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/output_main.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/pages.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/performance.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__xy_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__xy_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radian__access_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radian__access_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radius_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radius_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2box_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2box_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2linestring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2linestring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2point_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2point_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/reverse__dispatch_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/reverse__dispatch_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__identifier_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__identifier_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__coordinate__type_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__coordinate__type_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__most__precise_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__most__precise_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify_linestring.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__envelope_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__envelope_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/status.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/std__as__linestring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/std__as__linestring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/std__as__ring_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/std__as__ring_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategies_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategies_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__traits_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__traits_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1as__range__type-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1as__range__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1box__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__distance-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__distance.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1circular__iterator-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1circular__iterator.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_box-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_box.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_box-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_box.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_linestring-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_linestring.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_nsphere-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_nsphere.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_point-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_point.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_polygon-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_polygon.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_ring-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_ring.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_segment-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_segment.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_linestring-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_linestring.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_nsphere-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_nsphere.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_polygon-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_polygon.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_ring-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_ring.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_segment-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_segment.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__system-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__system.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__type-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1cartesian.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1geographic-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1geographic.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1polar-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1polar.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1spherical-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1spherical.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs__tag-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im__segment-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im__segment.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1dimension.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1distance__result-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1distance__result.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ever__circling__iterator-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ever__circling__iterator.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1exception.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geographic__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__collection__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__id.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__not__recognized__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1interior__type-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1interior__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1is__linear.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1is__multi.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1is__radian.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1less-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1less.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1linestring__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1nsphere__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__const__iterator-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__const__iterator.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__type-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1direction__type-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1direction__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__de9im-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__de9im.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__direction-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__direction.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__intersection__points-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__intersection__points.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__tupled-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__tupled.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1polygon__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1radius__type-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1radius__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1replace__point__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1reverse__dispatch.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__type-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1section-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1section.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1sections-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1sections.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__identifier-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__identifier.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__intersection__points-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__intersection__points.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__coordinate__type-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__coordinate__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__most__precise-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__most__precise.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1spherical__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1euclidian-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1euclidian.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4-members.html (contents, props changed)
   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 (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4-members.html (contents, props changed)
   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 (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1not__implemented.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__direct-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__direct.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__per__coordinate-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1map__transformer-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1map__transformer.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer.html (contents, props changed)
   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-members.html (contents, props changed)
   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 (contents, props changed)
   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-members.html (contents, props changed)
   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 (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer.html (contents, props changed)
   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-members.html (contents, props changed)
   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 (contents, props changed)
   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-members.html (contents, props changed)
   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 (contents, props changed)
   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-members.html (contents, props changed)
   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 (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1within_1_1franklin-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1within_1_1franklin.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__area-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__area.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__centroid-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__centroid.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__compare-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__compare.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__convex__hull-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__convex__hull.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance__segment-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance__segment.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__envelope-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__envelope.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__parse-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__parse.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag.html (contents, props changed)
   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-members.html (contents, props changed)
   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 (contents, props changed)
   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_segmed55c3cfc5827a9fce761418deab6f486.html (contents, props changed)
   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 (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__distance__point__point.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__distance__point__segment.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__unknown.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__transform-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__transform.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__within-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__within.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1tag-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1topological__dimension.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1append__point.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1clear.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__system.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__type_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__type_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1cs__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1dimension.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1dimension_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1exterior__ring.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1indexed__access.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1interior__rings.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1interior__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1radius__access.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1radius__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1ring__type.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tab_b.gif (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tab_l.gif (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tab_r.gif (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tabs.css (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tag_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tag_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/traverse_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/traverse_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tuple_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tuple_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tuple__cartesian_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tuple__cartesian_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tupled_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tupled_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/within_polygon.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/within_ring.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg__multi_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg__multi_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x01__qt__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x01_qt_example_output.png (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x03__a__soci__example_8cpp-example.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x03__b__soci__example_8cpp-example.html (contents, props changed)

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/access.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class which gives <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (get,set) to points. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1indexed__access.html">ggl::traits::indexed_access&lt; G, I, D &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class defining "get" and "set" to get and set <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> coordinate values. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1use__std.html">ggl::traits::use_std&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class, optional, indicating that the std-library should be used. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gd3c007fcbae837d56d13aa77ed03f920">ggl::get</a> (const G &amp;geometry, detail::signature_getset_index_dimension *dummy=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> / <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">ggl::get</a> (const G &amp;geometry, detail::signature_getset_dimension *dummy=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> / <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6ced3f6383c5e664984c54a36a1d78a2">ggl::set</a> (G &amp;geometry, const typename coordinate_type&lt; G &gt;::type &amp;value, detail::signature_getset_index_dimension *dummy=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign a coordinate value of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> / <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a">ggl::set</a> (G &amp;geometry, const typename coordinate_type&lt; G &gt;::type &amp;value, detail::signature_getset_dimension *dummy=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign coordinate value to a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> / sphere <br></td></tr>
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">ggl::max_corner</a> = 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">ggl::min_corner</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,282 @@
+<!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">
+&nbsp;&nbsp;
+</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/access.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_CORE_ACCESS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_ACCESS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a><a class="code" href="namespaceggl.html">00021</a> <span class="keyword">namespace </span>ggl
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a><a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">00024</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a> = 0;
+<a name="l00025"></a><a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">00025</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a> = 1;
+<a name="l00026"></a>00026
+<a name="l00027"></a><a class="code" href="namespaceggl_1_1traits.html">00027</a> <span class="keyword">namespace </span>traits
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00042"></a><a class="code" href="structggl_1_1traits_1_1access.html">00042</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> {};
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00059"></a><a class="code" href="structggl_1_1traits_1_1indexed__access.html">00059</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1indexed__access.html" title="Traits class defining &amp;quot;get&amp;quot; and &amp;quot;set&amp;quot; to get and set point coordinate...">indexed_access</a> {};
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061
+<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00076"></a><a class="code" href="structggl_1_1traits_1_1use__std.html">00076</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">use_std</a>
+<a name="l00077"></a>00077 {
+<a name="l00078"></a><a class="code" href="structggl_1_1traits_1_1use__std.html#17f62fd601472a4c970adeda2281f145">00078</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1traits_1_1use__std.html#17f62fd601472a4c970adeda2281f145">value</a> = <span class="keyword">true</span>;
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 } <span class="comment">// namespace traits</span>
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00088"></a>00088 <span class="keyword">struct </span>access
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 <span class="comment">//static inline T get(const G&amp; ) {}</span>
+<a name="l00091"></a>00091 <span class="comment">//static inline void set(G&amp; g, const T&amp; value) {}</span>
+<a name="l00092"></a>00092 };
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00095"></a>00095 <span class="keyword">struct </span>indexed_access
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="comment">//static inline T get(const G&amp; ) {}</span>
+<a name="l00098"></a>00098 <span class="comment">//static inline void set(G&amp; g, const T&amp; value) {}</span>
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00102"></a>00102 <span class="keyword">struct </span>access&lt;point_tag, P, T, D&gt;
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> P&amp; p)
+<a name="l00105"></a>00105 {
+<a name="l00106"></a>00106 <span class="keywordflow">return</span> traits::access&lt;P&gt;::template get&lt;D&gt;(p);
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(P&amp; p, <span class="keyword">const</span> T&amp; value)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 traits::access&lt;P&gt;::template set&lt;D&gt;(p, value);
+<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> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00115"></a>00115 <span class="keyword">struct </span>access&lt;nsphere_tag, S, T, D&gt;
+<a name="l00116"></a>00116 {
+<a name="l00117"></a>00117 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> S&amp; s)
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 <span class="keywordflow">return</span> traits::access&lt;S&gt;::template get&lt;D&gt;(s);
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(S&amp; s, <span class="keyword">const</span> T&amp; value)
+<a name="l00122"></a>00122 {
+<a name="l00123"></a>00123 traits::access&lt;S&gt;::template set&lt;D&gt;(s, value);
+<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> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00128"></a>00128 <span class="keyword">struct </span>indexed_access&lt;box_tag, B, T, I, D&gt;
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> B&amp; b)
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::indexed_access&lt;B, I, D&gt;::get</a>(b);
+<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> <span class="keyword">set</span>(B&amp; b, <span class="keyword">const</span> T&amp; value)
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::indexed_access&lt;B, I, D&gt;::set</a>(b, value);
+<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> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00141"></a>00141 <span class="keyword">struct </span>indexed_access&lt;segment_tag, S, T, I, D&gt;
+<a name="l00142"></a>00142 {
+<a name="l00143"></a>00143 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> S&amp; segment)
+<a name="l00144"></a>00144 {
+<a name="l00145"></a>00145 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::indexed_access&lt;S, I, D&gt;::get</a>(segment);
+<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> <span class="keyword">set</span>(S&amp; segment, <span class="keyword">const</span> T&amp; value)
+<a name="l00148"></a>00148 {
+<a name="l00149"></a>00149 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::indexed_access&lt;S, I, D&gt;::set</a>(segment, value);
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151 };
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00154"></a>00154 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00155"></a>00155 <span class="preprocessor"></span>
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00158"></a>00158 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00159"></a>00159 {
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161 <span class="comment">// Two dummy tags to distinguish get/set variants below.</span>
+<a name="l00162"></a>00162 <span class="comment">// They don't have to be specified by the user. The functions are distinguished</span>
+<a name="l00163"></a>00163 <span class="comment">// by template signature also, but for e.g. GCC this is not enough. So give them</span>
+<a name="l00164"></a>00164 <span class="comment">// a different signature.</span>
+<a name="l00165"></a>00165 <span class="keyword">struct </span>signature_getset_dimension {};
+<a name="l00166"></a>00166 <span class="keyword">struct </span>signature_getset_index_dimension {};
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 } <span class="comment">// namespace detail</span>
+<a name="l00169"></a>00169 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00170"></a>00170 <span class="preprocessor"></span>
+<a name="l00171"></a>00171
+<a name="l00181"></a>00181 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
+<a name="l00182"></a><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">00182</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a> <span class="keyword">get</span>(<span class="keyword">const</span> G&amp; geometry,
+<a name="l00183"></a>00183 detail::signature_getset_dimension* dummy = 0)
+<a name="l00184"></a>00184 {
+<a name="l00185"></a>00185 boost::ignore_unused_variable_warning(dummy);
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="keyword">typedef</span> core_dispatch::access
+<a name="l00190"></a>00190 &lt;
+<a name="l00191"></a>00191 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00192"></a>00192 ncg_type,
+<a name="l00193"></a>00193 <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&lt;ncg_type&gt;::type</a>,
+<a name="l00194"></a>00194 D
+<a name="l00195"></a>00195 &gt; coord_access_type;
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">coord_access_type::get</a>(geometry);
+<a name="l00198"></a>00198 }
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200
+<a name="l00210"></a>00210 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
+<a name="l00211"></a><a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a">00211</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(G&amp; geometry, <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a>&amp; value,
+<a name="l00212"></a>00212 detail::signature_getset_dimension* dummy = 0)
+<a name="l00213"></a>00213 {
+<a name="l00214"></a>00214 boost::ignore_unused_variable_warning(dummy);
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218 <span class="keyword">typedef</span> core_dispatch::access
+<a name="l00219"></a>00219 &lt;
+<a name="l00220"></a>00220 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00221"></a>00221 ncg_type,
+<a name="l00222"></a>00222 <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&lt;ncg_type&gt;::type</a>,
+<a name="l00223"></a>00223 D
+<a name="l00224"></a>00224 &gt; coord_access_type;
+<a name="l00225"></a>00225
+<a name="l00226"></a>00226 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">coord_access_type::set</a>(geometry, value);
+<a name="l00227"></a>00227 }
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229 <span class="comment">// Note: doxygen needs a construct to distinguish get/set (like the gcc compiler)</span>
+<a name="l00230"></a>00230
+<a name="l00241"></a>00241 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
+<a name="l00242"></a><a class="code" href="group__access.html#gd3c007fcbae837d56d13aa77ed03f920">00242</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a> <span class="keyword">get</span>(<span class="keyword">const</span> G&amp; geometry,
+<a name="l00243"></a>00243 detail::signature_getset_index_dimension* dummy = 0)
+<a name="l00244"></a>00244 {
+<a name="l00245"></a>00245 boost::ignore_unused_variable_warning(dummy);
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
+<a name="l00248"></a>00248
+<a name="l00249"></a>00249 <span class="keyword">typedef</span> core_dispatch::indexed_access
+<a name="l00250"></a>00250 &lt;
+<a name="l00251"></a>00251 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00252"></a>00252 ncg_type,
+<a name="l00253"></a>00253 <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&lt;ncg_type&gt;::type</a>,
+<a name="l00254"></a>00254 I,
+<a name="l00255"></a>00255 D
+<a name="l00256"></a>00256 &gt; coord_access_type;
+<a name="l00257"></a>00257
+<a name="l00258"></a>00258 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">coord_access_type::get</a>(geometry);
+<a name="l00259"></a>00259 }
+<a name="l00260"></a>00260
+<a name="l00271"></a>00271 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
+<a name="l00272"></a><a class="code" href="group__access.html#g6ced3f6383c5e664984c54a36a1d78a2">00272</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(G&amp; geometry, <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a>&amp; value,
+<a name="l00273"></a>00273 detail::signature_getset_index_dimension* dummy = 0)
+<a name="l00274"></a>00274 {
+<a name="l00275"></a>00275 boost::ignore_unused_variable_warning(dummy);
+<a name="l00276"></a>00276
+<a name="l00277"></a>00277 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
+<a name="l00278"></a>00278
+<a name="l00279"></a>00279 <span class="keyword">typedef</span> core_dispatch::indexed_access
+<a name="l00280"></a>00280 &lt;
+<a name="l00281"></a>00281 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, ncg_type,
+<a name="l00282"></a>00282 <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&lt;ncg_type&gt;::type</a>,
+<a name="l00283"></a>00283 I,
+<a name="l00284"></a>00284 D
+<a name="l00285"></a>00285 &gt; coord_access_type;
+<a name="l00286"></a>00286
+<a name="l00287"></a>00287 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">coord_access_type::set</a>(geometry, value);
+<a name="l00288"></a>00288 }
+<a name="l00289"></a>00289
+<a name="l00290"></a>00290 } <span class="comment">// namespace ggl</span>
+<a name="l00291"></a>00291
+<a name="l00292"></a>00292 <span class="preprocessor">#endif // GGL_CORE_ACCESS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/adapt_turns.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 &nbsp;</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&lt;typename V &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">ggl::adapt_turns</a> (V &amp;intersection_points)</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,621 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/adapt_turns.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_ADAPT_TURNS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ADAPT_TURNS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;algorithm&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="equals_8hpp.html">ggl/algorithms/equals.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>ggl
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="comment">// TEMP: another COPY of side</span>
+<a name="l00034"></a>00034 <span class="comment">// TODO: solve this inside SIDE!!!</span>
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> P&gt;
+<a name="l00036"></a>00036 <span class="keyword">inline</span> <span class="keywordtype">int</span> the_side(P1 <span class="keyword">const</span>&amp; p1, P2 <span class="keyword">const</span>&amp; p2, P <span class="keyword">const</span>&amp; p)
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type&lt;P, P1&gt;::type T;
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 T dx = get&lt;0&gt;(p2) - get&lt;0&gt;(p1);
+<a name="l00041"></a>00041 T dy = get&lt;1&gt;(p2) - get&lt;1&gt;(p1);
+<a name="l00042"></a>00042 T dpx = get&lt;0&gt;(p) - get&lt;0&gt;(p1);
+<a name="l00043"></a>00043 T dpy = get&lt;1&gt;(p) - get&lt;1&gt;(p1);
+<a name="l00044"></a>00044 T product = dx * dpy - dy * dpx;
+<a name="l00045"></a>00045 <span class="keywordflow">return</span> product &gt; 0 ? 1 : product &lt; 0 ? -1 : 0;
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00049"></a>00049 <span class="keyword">inline</span> <span class="keywordtype">void</span> join_adapt(T&amp; info, <span class="keywordtype">int</span> direction)
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 info.first-&gt;direction = direction;
+<a name="l00052"></a>00052 info.second-&gt;direction = direction;
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00058"></a>00058 <span class="keyword">inline</span> <span class="keywordtype">void</span> both_same(T <span class="keyword">const</span>&amp; <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">pi</a>, T &amp; pk, T <span class="keyword">const</span>&amp; qu, T&amp; qw, <span class="keywordtype">int</span> dir_p, <span class="keywordtype">int</span> dir_q, <span class="keywordtype">int</span> direction)
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="comment">// Comments are for "both Left"</span>
+<a name="l00061"></a>00061 <span class="keywordflow">if</span> (dir_q == direction) <span class="comment">// If (Qw left-of Qu)</span>
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keywordflow">if</span> (dir_p == -direction) <span class="comment">// if (Pk right-of Pi)</span>
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="comment">// make Pk Right, Qw Left</span>
+<a name="l00066"></a>00066 join_adapt(pk, -direction);
+<a name="l00067"></a>00067 join_adapt(qw, direction);
+<a name="l00068"></a>00068 }
+<a name="l00069"></a>00069 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (pk.first-&gt;direction == -direction) <span class="comment">// else if (Pk right-of Qu)</span>
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="comment">// make both Right</span>
+<a name="l00072"></a>00072 join_adapt(pk, -direction);
+<a name="l00073"></a>00073 join_adapt(qw, -direction);
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075 }
+<a name="l00076"></a>00076 <span class="keywordflow">else</span>
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 <span class="keywordflow">if</span> (dir_p == -direction <span class="comment">// if (Pk right-of Pi</span>
+<a name="l00079"></a>00079 || pk.first-&gt;direction == direction) <span class="comment">// || Pk left-of Qu)</span>
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="comment">// make both Left</span>
+<a name="l00082"></a>00082 join_adapt(pk, direction);
+<a name="l00083"></a>00083 join_adapt(qw, direction);
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085 }
+<a name="l00086"></a>00086 }
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00089"></a>00089 <span class="keyword">inline</span> <span class="keywordtype">void</span> crossing(T <span class="keyword">const</span>&amp; pi, T &amp; pk, T <span class="keyword">const</span>&amp; qu, T&amp; qw, <span class="keywordtype">int</span> dir_p, <span class="keywordtype">int</span> dir_q, <span class="keywordtype">int</span> direction)
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="keywordflow">if</span> (dir_p == direction) <span class="comment">// If (Pk left-of Pi)</span>
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="keywordflow">if</span> (pk.first-&gt;direction == -direction) <span class="comment">// if (Pk right-of Qu)</span>
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 <span class="comment">// make both Right</span>
+<a name="l00096"></a>00096 join_adapt(pk, -direction);
+<a name="l00097"></a>00097 join_adapt(qw, -direction);
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 <span class="keywordflow">else</span>
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 <span class="comment">// make Pk Left, Qw Right</span>
+<a name="l00102"></a>00102 join_adapt(pk, direction);
+<a name="l00103"></a>00103 join_adapt(qw, -direction);
+<a name="l00104"></a>00104 }
+<a name="l00105"></a>00105 }
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00111"></a>00111 <span class="keyword">inline</span> <span class="keywordtype">void</span> collinear(T <span class="keyword">const</span>&amp; pi, T &amp; pk, T <span class="keyword">const</span>&amp; qu, T&amp; qw, <span class="keywordtype">int</span> dir_p, <span class="keywordtype">int</span> dir_q, <span class="keywordtype">int</span> direction)
+<a name="l00112"></a>00112 {
+<a name="l00113"></a>00113 <span class="keywordflow">if</span> (dir_p == direction <span class="comment">// If (Pk left-of Pi</span>
+<a name="l00114"></a>00114 &amp;&amp; dir_q == direction <span class="comment">// &amp;&amp; Qw left-of Qu</span>
+<a name="l00115"></a>00115 &amp;&amp; pk.first-&gt;direction == -direction) <span class="comment">// &amp;&amp; Pk right-of Qu</span>
+<a name="l00116"></a>00116 {
+<a name="l00117"></a>00117 <span class="comment">// make both Right</span>
+<a name="l00118"></a>00118 join_adapt(pk, -direction);
+<a name="l00119"></a>00119 join_adapt(qw, -direction);
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dir_p == -direction <span class="comment">// If (Pk right-of Pi</span>
+<a name="l00122"></a>00122 &amp;&amp; dir_q == -direction) <span class="comment">// &amp;&amp; Qw right-of Qu</span>
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 <span class="comment">// make both Left</span>
+<a name="l00125"></a>00125 join_adapt(pk, direction);
+<a name="l00126"></a>00126 join_adapt(qw, direction);
+<a name="l00127"></a>00127 }
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 }
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> P&gt;
+<a name="l00132"></a>00132 <span class="keyword">inline</span> <span class="keywordtype">void</span> assign_pq(T <span class="keyword">const</span>&amp; info, P&amp; p, P&amp; q)
+<a name="l00133"></a>00133 {
+<a name="l00134"></a>00134 <span class="keywordflow">if</span> (info.seg_id.source_index == 0)
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 <span class="keywordflow">if</span> (info.arrival == 1)
+<a name="l00137"></a>00137 {
+<a name="l00138"></a>00138 p.first = info.other_point;
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (info.arrival == -1)
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 p.second = info.other_point;
+<a name="l00143"></a>00143 }
+<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 <span class="keywordflow">if</span> (info.arrival == 1)
+<a name="l00148"></a>00148 {
+<a name="l00149"></a>00149 q.first = info.other_point;
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (info.arrival == -1)
+<a name="l00152"></a>00152 {
+<a name="l00153"></a>00153 q.second = info.other_point;
+<a name="l00154"></a>00154 }
+<a name="l00155"></a>00155 }
+<a name="l00156"></a>00156 }
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Info, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00159"></a>00159 <span class="keyword">inline</span> <span class="keywordtype">void</span> touch_in_the_middle(Info&amp; info, Point <span class="keyword">const</span>&amp; point)
+<a name="l00160"></a>00160 {
+<a name="l00161"></a>00161 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;Info&gt;::type iterator;
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 <span class="comment">// Determine which is Q, and assign points</span>
+<a name="l00164"></a>00164 iterator qu, qw, p;
+<a name="l00165"></a>00165 <span class="keywordtype">int</span> count = 0;
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 <span class="comment">// Find out which one is arriving/departing from the middle</span>
+<a name="l00168"></a>00168 <span class="keywordflow">for</span> (iterator it = boost::begin(info);
+<a name="l00169"></a>00169 it != boost::end(info);
+<a name="l00170"></a>00170 ++it)
+<a name="l00171"></a>00171 {
+<a name="l00172"></a>00172 <span class="comment">// One arrives AND departs in the middle of the other.</span>
+<a name="l00173"></a>00173 <span class="keywordflow">if</span>(it-&gt;how == <span class="charliteral">'m'</span> &amp;&amp; it-&gt;arrival == 1)
+<a name="l00174"></a>00174 {
+<a name="l00175"></a>00175 qu = it;
+<a name="l00176"></a>00176 count |= 1;
+<a name="l00177"></a>00177 }
+<a name="l00178"></a>00178 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(it-&gt;how == <span class="charliteral">'s'</span> &amp;&amp; it-&gt;arrival == -1)
+<a name="l00179"></a>00179 {
+<a name="l00180"></a>00180 qw = it;
+<a name="l00181"></a>00181 count |= 2;
+<a name="l00182"></a>00182 }
+<a name="l00183"></a>00183 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (it-&gt;how == <span class="charliteral">'s'</span>) <span class="comment">// or m, does not really matter</span>
+<a name="l00184"></a>00184 {
+<a name="l00185"></a>00185 p = it;
+<a name="l00186"></a>00186 count |= 4;
+<a name="l00187"></a>00187 }
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 }
+<a name="l00190"></a>00190 <span class="comment">// Adapt it</span>
+<a name="l00191"></a>00191 <span class="keywordflow">if</span> (count == 7
+<a name="l00192"></a>00192 &amp;&amp; qu-&gt;direction == qw-&gt;direction
+<a name="l00193"></a>00193 &amp;&amp; qu-&gt;seg_id.source_index == qw-&gt;seg_id.source_index)
+<a name="l00194"></a>00194 {
+<a name="l00195"></a>00195 <span class="keywordtype">int</span> dir_q = the_side(qu-&gt;other_point, point, qw-&gt;other_point);
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00198"></a>00198 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Both "</span>
+<a name="l00199"></a>00199 &lt;&lt; (qu-&gt;direction == 1 ? <span class="stringliteral">"Left"</span> : <span class="stringliteral">"Right"</span>)
+<a name="l00200"></a>00200 &lt;&lt; <span class="stringliteral">", Turn "</span> &lt;&lt; (dir_q == 1 ? <span class="stringliteral">"Left"</span> : dir_q == -1 ? <span class="stringliteral">"Right"</span> : <span class="stringliteral">"?"</span>)
+<a name="l00201"></a>00201 &lt;&lt; std::endl;
+<a name="l00202"></a>00202 <span class="preprocessor">#endif</span>
+<a name="l00203"></a>00203 <span class="preprocessor"></span>
+<a name="l00204"></a>00204 <span class="comment">// Let P also be starting</span>
+<a name="l00205"></a>00205 p-&gt;arrival = -1;
+<a name="l00206"></a>00206
+<a name="l00207"></a>00207 <span class="comment">// This is also symmetric. See slides:</span>
+<a name="l00208"></a>00208 <span class="comment">// Qu left-of P &amp;&amp; Qw left-of P</span>
+<a name="l00209"></a>00209 <span class="keywordflow">if</span> (qu-&gt;direction == 1 &amp;&amp; dir_q == -1)
+<a name="l00210"></a>00210 {
+<a name="l00211"></a>00211 <span class="comment">// make both Left</span>
+<a name="l00212"></a>00212 p-&gt;direction = 1;
+<a name="l00213"></a>00213 qw-&gt;direction = 1;
+<a name="l00214"></a>00214 }
+<a name="l00215"></a>00215 <span class="comment">// else, symmetric version</span>
+<a name="l00216"></a>00216 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (qu-&gt;direction == -1 &amp;&amp; dir_q == 1)
+<a name="l00217"></a>00217 {
+<a name="l00218"></a>00218 p-&gt;direction = -1;
+<a name="l00219"></a>00219 qw-&gt;direction = -1;
+<a name="l00220"></a>00220 }
+<a name="l00221"></a>00221 }
+<a name="l00222"></a>00222 }
+<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 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Info&gt;
+<a name="l00228"></a>00228 <span class="keyword">inline</span> <span class="keywordtype">void</span> arrive_in_the_middle(Info&amp; info)
+<a name="l00229"></a>00229 {
+<a name="l00230"></a>00230 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;Info&gt;::type iterator;
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 <span class="comment">// Find out which one is NOT arriving in the middle,</span>
+<a name="l00233"></a>00233 <span class="comment">// and the direction of the one arriving in the middle</span>
+<a name="l00234"></a>00234 <span class="keywordtype">int</span> departing = -1;
+<a name="l00235"></a>00235 <span class="keywordtype">int</span> direction = 0;
+<a name="l00236"></a>00236 <span class="keywordflow">for</span> (iterator it = boost::begin(info);
+<a name="l00237"></a>00237 it != boost::end(info);
+<a name="l00238"></a>00238 ++it)
+<a name="l00239"></a>00239 {
+<a name="l00240"></a>00240 <span class="keywordflow">if</span>(it-&gt;how == <span class="charliteral">'m'</span>)
+<a name="l00241"></a>00241 {
+<a name="l00242"></a>00242 <span class="keywordflow">switch</span>(it-&gt;arrival)
+<a name="l00243"></a>00243 {
+<a name="l00244"></a>00244 <span class="keywordflow">case</span> 1 : direction = it-&gt;direction; <span class="keywordflow">break</span>;
+<a name="l00245"></a>00245 <span class="keywordflow">default</span> : departing = it-&gt;seg_id.source_index;
+<a name="l00246"></a>00246 }
+<a name="l00247"></a>00247 }
+<a name="l00248"></a>00248 }
+<a name="l00249"></a>00249
+<a name="l00250"></a>00250 <span class="comment">// Make this the departing one, following collinear in opposite segment,</span>
+<a name="l00251"></a>00251 <span class="comment">// same direction as established above</span>
+<a name="l00252"></a>00252 <span class="keywordflow">for</span> (iterator it = boost::begin(info);
+<a name="l00253"></a>00253 it != boost::end(info);
+<a name="l00254"></a>00254 ++it)
+<a name="l00255"></a>00255 {
+<a name="l00256"></a>00256 <span class="keywordflow">if</span> (it-&gt;how == <span class="charliteral">'c'</span> &amp;&amp; it-&gt;seg_id.source_index == departing)
+<a name="l00257"></a>00257 {
+<a name="l00258"></a>00258 it-&gt;arrival = -1;
+<a name="l00259"></a>00259 it-&gt;direction = direction;
+<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> &lt;<span class="keyword">typename</span> Info&gt;
+<a name="l00265"></a>00265 <span class="keyword">inline</span> <span class="keywordtype">void</span> start_in_the_middle(Info&amp; info, <span class="keywordtype">bool</span> opposite)
+<a name="l00266"></a>00266 {
+<a name="l00267"></a>00267 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;Info&gt;::type iterator;
+<a name="l00268"></a>00268
+<a name="l00269"></a>00269 <span class="keywordflow">for</span> (iterator it = boost::begin(info);
+<a name="l00270"></a>00270 it != boost::end(info);
+<a name="l00271"></a>00271 ++it)
+<a name="l00272"></a>00272 {
+<a name="l00273"></a>00273 <span class="keywordflow">if</span>(it-&gt;how == <span class="charliteral">'s'</span>)
+<a name="l00274"></a>00274 {
+<a name="l00275"></a>00275 <span class="keywordflow">if</span> (! opposite)
+<a name="l00276"></a>00276 {
+<a name="l00277"></a>00277 <span class="comment">// Not opposite, all "start" traversals can also be made "departing"</span>
+<a name="l00278"></a>00278 it-&gt;arrival = -1;
+<a name="l00279"></a>00279 }
+<a name="l00280"></a>00280 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (opposite &amp;&amp; it-&gt;arrival == 0)
+<a name="l00281"></a>00281 {
+<a name="l00282"></a>00282 <span class="comment">// Prevent the collinear the "start" from "departing",</span>
+<a name="l00283"></a>00283 <span class="comment">// if it is in opposite direction</span>
+<a name="l00284"></a>00284 it-&gt;arrival = 1;
+<a name="l00285"></a>00285 it-&gt;direction = 0;
+<a name="l00286"></a>00286 it-&gt;flagged = <span class="keyword">true</span>; <span class="comment">// might be deleted</span>
+<a name="l00287"></a>00287 }
+<a name="l00288"></a>00288 }
+<a name="l00289"></a>00289 }
+<a name="l00290"></a>00290 }
+<a name="l00291"></a>00291
+<a name="l00292"></a>00292
+<a name="l00293"></a>00293 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt;
+<a name="l00294"></a>00294 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">adapt_turns</a>(V&amp; intersection_points)
+<a name="l00295"></a>00295 {
+<a name="l00296"></a>00296 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;V&gt;::type iterator_type;
+<a name="l00297"></a>00297 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;V&gt;::type ip_type;
+<a name="l00298"></a>00298 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_type info_type;
+<a name="l00299"></a>00299
+<a name="l00300"></a>00300 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;V&gt;::type::traversal_vector vector_type;
+<a name="l00301"></a>00301 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;vector_type&gt;::type tvit_type;
+<a name="l00302"></a>00302
+<a name="l00303"></a>00303 <span class="keywordflow">for</span> (iterator_type it = boost::begin(intersection_points);
+<a name="l00304"></a>00304 it != boost::end(intersection_points);
+<a name="l00305"></a>00305 ++it)
+<a name="l00306"></a>00306 {
+<a name="l00307"></a>00307 <span class="keywordflow">if</span> (! it-&gt;trivial)
+<a name="l00308"></a>00308 {
+<a name="l00309"></a>00309 <span class="keywordflow">if</span> (boost::size(it-&gt;info) == 4)
+<a name="l00310"></a>00310 {
+<a name="l00311"></a>00311 <span class="comment">/*</span>
+<a name="l00312"></a>00312 <span class="comment"> can be ARRIVE/START from the middle (#11)</span>
+<a name="l00313"></a>00313 <span class="comment"> src 0 seg 1 (// 1.0) how m[A R] p // qu</span>
+<a name="l00314"></a>00314 <span class="comment"> src 0 seg 1 (// 1.1) how s[D L] p // qw</span>
+<a name="l00315"></a>00315 <span class="comment"> src 1 seg 0 (// 0.1) how m[A R] qu / p</span>
+<a name="l00316"></a>00316 <span class="comment"> src 1 seg 1 (// 0.1) how s[D R] qw / p</span>
+<a name="l00317"></a>00317 <span class="comment"></span>
+<a name="l00318"></a>00318 <span class="comment"> or can be ARRIVE at COLLINEARITY (#8, #13)</span>
+<a name="l00319"></a>00319 <span class="comment"> src 0 seg 1 (// 1.1) how m[A L] p // qu</span>
+<a name="l00320"></a>00320 <span class="comment"> src 0 seg 1 (// 1.2) how c[- -] p // qw</span>
+<a name="l00321"></a>00321 <span class="comment"> src 1 seg 1 (// 0.1) how m[A L] qu // p</span>
+<a name="l00322"></a>00322 <span class="comment"> src 1 seg 2 (// 0.1) how c[- -] qw // p</span>
+<a name="l00323"></a>00323 <span class="comment"></span>
+<a name="l00324"></a>00324 <span class="comment"> or can be START from COLLINEARITY (#8, #13)</span>
+<a name="l00325"></a>00325 <span class="comment"> src 0 seg 1 (// 1.2) how c[- -] p // qu</span>
+<a name="l00326"></a>00326 <span class="comment"> src 0 seg 1 (// 1.0) how s[D R] p // qw</span>
+<a name="l00327"></a>00327 <span class="comment"> src 1 seg 2 (// 0.1) how c[- -] qu // p</span>
+<a name="l00328"></a>00328 <span class="comment"> src 1 seg 0 (// 0.1) how s[D L] qw // p</span>
+<a name="l00329"></a>00329 <span class="comment"> */</span>
+<a name="l00330"></a>00330
+<a name="l00331"></a>00331 <span class="comment">// First detect the case and if it is opposite</span>
+<a name="l00332"></a>00332 <span class="keywordtype">int</span> count_m = 0, count_s = 0, count_c = 0;
+<a name="l00333"></a>00333
+<a name="l00334"></a>00334 <span class="keywordtype">bool</span> opposite = <span class="keyword">false</span>;
+<a name="l00335"></a>00335 <span class="keywordflow">for</span> (tvit_type tvit = boost::begin(it-&gt;info);
+<a name="l00336"></a>00336 tvit != boost::end(it-&gt;info);
+<a name="l00337"></a>00337 ++tvit)
+<a name="l00338"></a>00338 {
+<a name="l00339"></a>00339 <span class="keywordflow">switch</span>(tvit-&gt;how)
+<a name="l00340"></a>00340 {
+<a name="l00341"></a>00341 <span class="keywordflow">case</span> <span class="charliteral">'m'</span> : count_m++; <span class="keywordflow">break</span>;
+<a name="l00342"></a>00342 <span class="keywordflow">case</span> <span class="charliteral">'s'</span> : count_s++; <span class="keywordflow">break</span>;
+<a name="l00343"></a>00343 <span class="keywordflow">case</span> <span class="charliteral">'c'</span> : count_c++; <span class="keywordflow">break</span>;
+<a name="l00344"></a>00344 }
+<a name="l00345"></a>00345 <span class="keywordflow">if</span> (tvit-&gt;opposite)
+<a name="l00346"></a>00346 {
+<a name="l00347"></a>00347 opposite = <span class="keyword">true</span>;
+<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 <span class="keywordflow">if</span> (count_m == 2 &amp;&amp; count_s == 2)
+<a name="l00353"></a>00353 {
+<a name="l00354"></a>00354 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00355"></a>00355 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Touching the middle "</span> &lt;&lt; std::endl;
+<a name="l00356"></a>00356 <span class="preprocessor">#endif</span>
+<a name="l00357"></a>00357 <span class="preprocessor"></span>
+<a name="l00358"></a>00358 touch_in_the_middle(it-&gt;info, it-&gt;point);
+<a name="l00359"></a>00359 }
+<a name="l00360"></a>00360 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (count_m == 2 &amp;&amp; count_c == 2 &amp;&amp; opposite)
+<a name="l00361"></a>00361 {
+<a name="l00362"></a>00362 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00363"></a>00363 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Arriving the middle/collinearity, opposite"</span> &lt;&lt; std::endl;
+<a name="l00364"></a>00364 <span class="preprocessor">#endif</span>
+<a name="l00365"></a>00365 <span class="preprocessor"></span>
+<a name="l00366"></a>00366 arrive_in_the_middle(it-&gt;info);
+<a name="l00367"></a>00367 }
+<a name="l00368"></a>00368 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (count_s == 2 &amp;&amp; count_c == 2)
+<a name="l00369"></a>00369 {
+<a name="l00370"></a>00370 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00371"></a>00371 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Starting from middle/collinearity"</span>
+<a name="l00372"></a>00372 &lt;&lt; (opposite ? <span class="stringliteral">" , opposite"</span> : <span class="stringliteral">""</span>)
+<a name="l00373"></a>00373 &lt;&lt; std::endl;
+<a name="l00374"></a>00374 <span class="preprocessor">#endif</span>
+<a name="l00375"></a>00375 <span class="preprocessor"></span>
+<a name="l00376"></a>00376 start_in_the_middle(it-&gt;info, opposite);
+<a name="l00377"></a>00377 }
+<a name="l00378"></a>00378 }
+<a name="l00379"></a>00379
+<a name="l00380"></a>00380 <span class="keywordflow">if</span> (boost::size(it-&gt;info) == 8)
+<a name="l00381"></a>00381 {
+<a name="l00382"></a>00382 <span class="comment">/*</span>
+<a name="l00383"></a>00383 <span class="comment"> src 0 seg 1 (// 1.0) how t[A R] pi // qu pi.first</span>
+<a name="l00384"></a>00384 <span class="comment"> src 0 seg 1 (// 1.1) how a[A R] pi // qw pi.second</span>
+<a name="l00385"></a>00385 <span class="comment"> src 0 seg 2 (// 1.0) how a[D R] pk // qu pk.first</span>
+<a name="l00386"></a>00386 <span class="comment"> src 0 seg 2 (// 1.1) how f[D L] pk // qw pk.second</span>
+<a name="l00387"></a>00387 <span class="comment"></span>
+<a name="l00388"></a>00388 <span class="comment"> src 1 seg 0 (// 0.1) how t[A L] qu // pi</span>
+<a name="l00389"></a>00389 <span class="comment"> src 1 seg 0 (// 0.2) how a[A R] qu // pk</span>
+<a name="l00390"></a>00390 <span class="comment"> src 1 seg 1 (// 0.1) how a[D R] qw // pi</span>
+<a name="l00391"></a>00391 <span class="comment"> src 1 seg 1 (// 0.2) how f[D R] qw // pk</span>
+<a name="l00392"></a>00392 <span class="comment"> */</span>
+<a name="l00393"></a>00393
+<a name="l00394"></a>00394 std::pair&lt;tvit_type, tvit_type&gt; pi, pk, qu, qw;
+<a name="l00395"></a>00395 std::pair&lt;typename info_type::point_type, typename info_type::point_type&gt; p, q;
+<a name="l00396"></a>00396
+<a name="l00397"></a>00397
+<a name="l00398"></a>00398 <span class="comment">// Find out which is which</span>
+<a name="l00399"></a>00399 <span class="keywordflow">for</span> (tvit_type tvit = boost::begin(it-&gt;info);
+<a name="l00400"></a>00400 tvit != boost::end(it-&gt;info);
+<a name="l00401"></a>00401 ++tvit)
+<a name="l00402"></a>00402 {
+<a name="l00403"></a>00403 assign_pq(*tvit, p, q);
+<a name="l00404"></a>00404 <span class="keywordflow">if</span> (tvit-&gt;seg_id.source_index == 0)
+<a name="l00405"></a>00405 {
+<a name="l00406"></a>00406 <span class="keywordflow">if</span> (tvit-&gt;arrival == 1)
+<a name="l00407"></a>00407 {
+<a name="l00408"></a>00408 <span class="keywordflow">if</span>(tvit-&gt;how != <span class="charliteral">'a'</span>)
+<a name="l00409"></a>00409 {
+<a name="l00410"></a>00410 pi.first = tvit;
+<a name="l00411"></a>00411 }
+<a name="l00412"></a>00412 <span class="keywordflow">else</span>
+<a name="l00413"></a>00413 {
+<a name="l00414"></a>00414 pi.second = tvit;
+<a name="l00415"></a>00415 }
+<a name="l00416"></a>00416
+<a name="l00417"></a>00417 }
+<a name="l00418"></a>00418 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (tvit-&gt;arrival == -1)
+<a name="l00419"></a>00419 {
+<a name="l00420"></a>00420 <span class="keywordflow">if</span> (tvit-&gt;how == <span class="charliteral">'a'</span>)
+<a name="l00421"></a>00421 {
+<a name="l00422"></a>00422 pk.first = tvit;
+<a name="l00423"></a>00423 }
+<a name="l00424"></a>00424 <span class="keywordflow">else</span>
+<a name="l00425"></a>00425 {
+<a name="l00426"></a>00426 pk.second = tvit;
+<a name="l00427"></a>00427 }
+<a name="l00428"></a>00428 }
+<a name="l00429"></a>00429 }
+<a name="l00430"></a>00430 <span class="keywordflow">else</span>
+<a name="l00431"></a>00431 {
+<a name="l00432"></a>00432 <span class="keywordflow">if</span> (tvit-&gt;arrival == 1)
+<a name="l00433"></a>00433 {
+<a name="l00434"></a>00434 <span class="keywordflow">if</span>(tvit-&gt;how != <span class="charliteral">'a'</span>)
+<a name="l00435"></a>00435 {
+<a name="l00436"></a>00436 qu.first = tvit;
+<a name="l00437"></a>00437 }
+<a name="l00438"></a>00438 <span class="keywordflow">else</span>
+<a name="l00439"></a>00439 {
+<a name="l00440"></a>00440 qu.second = tvit;
+<a name="l00441"></a>00441 }
+<a name="l00442"></a>00442 }
+<a name="l00443"></a>00443 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (tvit-&gt;arrival == -1)
+<a name="l00444"></a>00444 {
+<a name="l00445"></a>00445 <span class="keywordflow">if</span> (tvit-&gt;how == <span class="charliteral">'a'</span>)
+<a name="l00446"></a>00446 {
+<a name="l00447"></a>00447 qw.first = tvit;
+<a name="l00448"></a>00448 }
+<a name="l00449"></a>00449 <span class="keywordflow">else</span>
+<a name="l00450"></a>00450 {
+<a name="l00451"></a>00451 qw.second = tvit;
+<a name="l00452"></a>00452 }
+<a name="l00453"></a>00453 }
+<a name="l00454"></a>00454 }
+<a name="l00455"></a>00455 }
+<a name="l00456"></a>00456
+<a name="l00457"></a>00457 <span class="keywordtype">int</span> dir_p = the_side(p.first, it-&gt;point, p.second);
+<a name="l00458"></a>00458 <span class="keywordtype">int</span> dir_q = the_side(q.first, it-&gt;point, q.second);
+<a name="l00459"></a>00459
+<a name="l00460"></a>00460 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00461"></a>00461 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Pi//Qu : "</span> &lt;&lt; *pi.first &lt;&lt; std::endl;
+<a name="l00462"></a>00462 std::cout &lt;&lt; <span class="stringliteral">"Pi//Qw : "</span> &lt;&lt; *pi.second &lt;&lt; std::endl;
+<a name="l00463"></a>00463 std::cout &lt;&lt; <span class="stringliteral">"Pk//Qu : "</span> &lt;&lt; *pk.first &lt;&lt; std::endl;
+<a name="l00464"></a>00464 std::cout &lt;&lt; <span class="stringliteral">"Pk//Qw : "</span> &lt;&lt; *pk.second &lt;&lt; std::endl;
+<a name="l00465"></a>00465 std::cout &lt;&lt; <span class="stringliteral">"Qu//Pi : "</span> &lt;&lt; *qu.first &lt;&lt; std::endl;
+<a name="l00466"></a>00466 std::cout &lt;&lt; <span class="stringliteral">"Qu//Pk : "</span> &lt;&lt; *qu.second &lt;&lt; std::endl;
+<a name="l00467"></a>00467 std::cout &lt;&lt; <span class="stringliteral">"Qw//Pi : "</span> &lt;&lt; *qw.first &lt;&lt; std::endl;
+<a name="l00468"></a>00468 std::cout &lt;&lt; <span class="stringliteral">"Qw//Pk : "</span> &lt;&lt; *qw.second &lt;&lt; std::endl;
+<a name="l00469"></a>00469 <span class="keywordflow">if</span> (dir_p == 1) std::cout &lt;&lt; <span class="stringliteral">"P turns left"</span> &lt;&lt; std::endl;
+<a name="l00470"></a>00470 <span class="keywordflow">if</span> (dir_p == -1) std::cout &lt;&lt; <span class="stringliteral">"P turns right"</span> &lt;&lt; std::endl;
+<a name="l00471"></a>00471 <span class="keywordflow">if</span> (dir_q == 1) std::cout &lt;&lt; <span class="stringliteral">"Q turns left"</span> &lt;&lt; std::endl;
+<a name="l00472"></a>00472 <span class="keywordflow">if</span> (dir_q == -1) std::cout &lt;&lt; <span class="stringliteral">"Q turns right"</span> &lt;&lt; std::endl;
+<a name="l00473"></a>00473 <span class="preprocessor">#endif</span>
+<a name="l00474"></a>00474 <span class="preprocessor"></span>
+<a name="l00475"></a>00475 <span class="keywordflow">if</span> (qu.first-&gt;direction == qw.first-&gt;direction)
+<a name="l00476"></a>00476 {
+<a name="l00477"></a>00477 <span class="comment">// Both Right or Both Left</span>
+<a name="l00478"></a>00478 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00479"></a>00479 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Both "</span>
+<a name="l00480"></a>00480 &lt;&lt; (qu.first-&gt;direction == 1 ? <span class="stringliteral">"Left"</span> : <span class="stringliteral">"Right"</span>)
+<a name="l00481"></a>00481 &lt;&lt; std::endl;
+<a name="l00482"></a>00482 <span class="preprocessor">#endif</span>
+<a name="l00483"></a>00483 <span class="preprocessor"></span>
+<a name="l00484"></a>00484 both_same(pi, pk, qu, qw, dir_p, dir_q, qu.first-&gt;direction);
+<a name="l00485"></a>00485 }
+<a name="l00486"></a>00486 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (qu.first-&gt;direction == -qw.first-&gt;direction)
+<a name="l00487"></a>00487 {
+<a name="l00488"></a>00488 <span class="comment">// From Left to Right, or from Right to Left</span>
+<a name="l00489"></a>00489 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00490"></a>00490 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Left to/from Right"</span> &lt;&lt; std::endl;
+<a name="l00491"></a>00491 <span class="preprocessor">#endif</span>
+<a name="l00492"></a>00492 <span class="preprocessor"></span> crossing(pi, pk, qu, qw, dir_p, dir_q, qu.first-&gt;direction);
+<a name="l00493"></a>00493 }
+<a name="l00494"></a>00494 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (qw.first-&gt;direction == 1 || qu.first-&gt;direction == 1)
+<a name="l00495"></a>00495 {
+<a name="l00496"></a>00496 <span class="comment">// Collinear left</span>
+<a name="l00497"></a>00497 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00498"></a>00498 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Collinear left"</span> &lt;&lt; std::endl;
+<a name="l00499"></a>00499 <span class="preprocessor">#endif</span>
+<a name="l00500"></a>00500 <span class="preprocessor"></span> collinear(pi, pk, qu, qw, dir_p, dir_q, 1);
+<a name="l00501"></a>00501 }
+<a name="l00502"></a>00502 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (qw.first-&gt;direction == -1 || qu.first-&gt;direction == -1)
+<a name="l00503"></a>00503 {
+<a name="l00504"></a>00504 <span class="comment">// Collinear right</span>
+<a name="l00505"></a>00505 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00506"></a>00506 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Collinear right"</span> &lt;&lt; std::endl;
+<a name="l00507"></a>00507 <span class="preprocessor">#endif</span>
+<a name="l00508"></a>00508 <span class="preprocessor"></span> collinear(pi, pk, qu, qw, dir_p, dir_q, -1);
+<a name="l00509"></a>00509 }
+<a name="l00510"></a>00510
+<a name="l00511"></a>00511
+<a name="l00512"></a>00512 <span class="keywordflow">for</span> (tvit_type tvit = boost::begin(it-&gt;info);
+<a name="l00513"></a>00513 tvit != boost::end(it-&gt;info);
+<a name="l00514"></a>00514 ++tvit)
+<a name="l00515"></a>00515 {
+<a name="l00516"></a>00516 <span class="keywordflow">if</span> (tvit-&gt;how == <span class="charliteral">'a'</span>)
+<a name="l00517"></a>00517 {
+<a name="l00518"></a>00518 tvit-&gt;direction = 0;
+<a name="l00519"></a>00519 }
+<a name="l00520"></a>00520 }
+<a name="l00521"></a>00521
+<a name="l00522"></a>00522
+<a name="l00523"></a>00523 }
+<a name="l00524"></a>00524 }
+<a name="l00525"></a>00525 }
+<a name="l00526"></a>00526
+<a name="l00527"></a>00527 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00528"></a>00528 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Adapted turns: "</span> &lt;&lt; std::endl;
+<a name="l00529"></a>00529 report_ip(intersection_points);
+<a name="l00530"></a>00530 <span class="preprocessor">#endif</span>
+<a name="l00531"></a>00531 <span class="preprocessor"></span>}
+<a name="l00532"></a>00532
+<a name="l00533"></a>00533
+<a name="l00534"></a>00534
+<a name="l00535"></a>00535 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00536"></a>00536 <span class="preprocessor">#endif //DOXYGEN_NO_DETAIL</span>
+<a name="l00537"></a>00537 <span class="preprocessor"></span>
+<a name="l00538"></a>00538
+<a name="l00539"></a>00539
+<a name="l00540"></a>00540 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt;
+<a name="l00541"></a><a class="code" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">00541</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">adapt_turns</a>(V&amp; intersection_points)
+<a name="l00542"></a>00542 {
+<a name="l00543"></a>00543 <span class="comment">// If there are merges, there might be merged IP's which have right turns</span>
+<a name="l00544"></a>00544 <a class="code" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">detail::intersection::adapt_turns</a>(intersection_points);
+<a name="l00545"></a>00545
+<a name="l00546"></a>00546 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00547"></a>00547 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Merged (2): "</span> &lt;&lt; std::endl;
+<a name="l00548"></a>00548 report_ip(intersection_points);
+<a name="l00549"></a>00549 <span class="preprocessor">#endif</span>
+<a name="l00550"></a>00550 <span class="preprocessor"></span>
+<a name="l00551"></a>00551 }
+<a name="l00552"></a>00552
+<a name="l00553"></a>00553
+<a name="l00554"></a>00554 } <span class="comment">// namespace ggl</span>
+<a name="l00555"></a>00555
+<a name="l00556"></a>00556 <span class="preprocessor">#endif // GGL_ADAPT_TURNS_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__convex__hull_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__convex__hull_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,82 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/agnostic/agn_convex_hull.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham&lt; P &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1convex__hull.html">ggl::strategy::convex_hull</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__convex__hull_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__convex__hull_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,343 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/agnostic/agn_convex_hull.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_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 &lt;cstddef&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;algorithm&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>&gt;</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="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> &lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> RangeIterator, <span class="keyword">typename</span> Strategy&gt;
+<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&amp; range,
+<a name="l00044"></a>00044 RangeIterator&amp; min_it, RangeIterator&amp; max_it,
+<a name="l00045"></a>00045 <span class="keyword">const</span> Strategy&amp; 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> &lt;<span class="keyword">typename</span> R&gt;
+<a name="l00065"></a>00065 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> sort(R&amp; 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&lt;thread_count&gt;(boost::begin(range), boost::end(range), std::less&lt;P&gt;());
+<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="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> &lt;<span class="keyword">typename</span> P&gt;
+<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&lt;P&gt;::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&lt;P&gt; container;
+<a name="l00090"></a>00090 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector&lt;P&gt;::const_iterator iterator;
+<a name="l00091"></a>00091 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector&lt;P&gt;::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> &lt;<span class="keyword">typename</span> Range&gt;
+<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&amp; range)
+<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> &lt;<span class="keyword">typename</span> OutputIterator&gt;
+<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 &gt; 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 &lt; 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="l00133"></a>00133
+<a name="l00134"></a>00134 <span class="comment">// Note /</span>
+<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>
+<a name="l00138"></a>00138 <span class="comment">// It makes it slightly more complicated but avoids the copy, which is attractive because</span>
+<a name="l00139"></a>00139 <span class="comment">// multi-polygons (where it is used for) can be large.</span>
+<a name="l00140"></a>00140 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range&gt;
+<a name="l00141"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#5fdc022ecff10cfbea0d8d0f0dc4bcad">00141</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#5fdc022ecff10cfbea0d8d0f0dc4bcad">add_range</a>(<span class="keyword">const</span> Range&amp; range)
+<a name="l00142"></a>00142 {
+<a name="l00143"></a>00143 std::copy(boost::begin(range), boost::end(range), std::back_inserter(m_copied_input));
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145
+<a name="l00146"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#886de91332db9c491dd1ea63c476a1c3">00146</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#886de91332db9c491dd1ea63c476a1c3">handle_input</a>()
+<a name="l00147"></a>00147 {
+<a name="l00148"></a>00148 handle_range(m_copied_input);
+<a name="l00149"></a>00149 }
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="keyword">private</span>:
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range&gt;
+<a name="l00155"></a>00155 <span class="keyword">inline</span> <span class="keywordtype">void</span> handle_range(<span class="keyword">const</span> Range&amp; range)
+<a name="l00156"></a>00156 {
+<a name="l00157"></a>00157 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type range_iterator;
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 <span class="comment">// Polygons with three corners, or closed with 4 points, are always convex</span>
+<a name="l00160"></a>00160 <span class="keywordflow">if</span> (boost::size(range) &lt;= 3)
+<a name="l00161"></a>00161 {
+<a name="l00162"></a>00162 <span class="keywordflow">for</span> (range_iterator it = boost::begin(range);
+<a name="l00163"></a>00163 it != boost::end(range);
+<a name="l00164"></a>00164 ++it)
+<a name="l00165"></a>00165 {
+<a name="l00166"></a>00166 m_upper_hull.push_back(*it);
+<a name="l00167"></a>00167 }
+<a name="l00168"></a>00168 <span class="keywordflow">return</span>;
+<a name="l00169"></a>00169 }
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="comment">// Get min/max (in most cases left / right) points</span>
+<a name="l00172"></a>00172 range_iterator left_it, right_it;
+<a name="l00173"></a>00173 <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.">strategy_compare&lt;cs_tag, P, 0&gt;::type</a> comparing;
+<a name="l00174"></a>00174 detail::get_extremes(range, left_it, right_it, comparing);
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 <span class="comment">// Bounding left/right points</span>
+<a name="l00177"></a>00177 container lower_points, upper_points;
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 assign_range(range, left_it, right_it, lower_points, upper_points);
+<a name="l00180"></a>00180
+<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&lt;1&gt;(lower_points, m_lower_hull, *left_it, *right_it);
+<a name="l00185"></a>00185 build_half_hull&lt;-1&gt;(upper_points, m_upper_hull, *left_it, *right_it);
+<a name="l00186"></a>00186 }
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> RangeIterator, <span class="keyword">typename</span> Range&gt;
+<a name="l00191"></a>00191 <span class="keyword">inline</span> <span class="keywordtype">void</span> assign_range(<span class="keyword">const</span> Range&amp; range,
+<a name="l00192"></a>00192 <span class="keyword">const</span> RangeIterator&amp; left_it,
+<a name="l00193"></a>00193 <span class="keyword">const</span> RangeIterator&amp; right_it,
+<a name="l00194"></a>00194 container&amp; lower_points,
+<a name="l00195"></a>00195 container&amp; upper_points)
+<a name="l00196"></a>00196 {
+<a name="l00197"></a>00197 <span class="keyword">typename</span> strategy_side&lt;cs_tag, P&gt;::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 &amp;&amp; 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 &lt; 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> &lt;<span class="keywordtype">int</span> Factor&gt;
+<a name="l00221"></a>00221 <span class="keyword">inline</span> <span class="keywordtype">void</span> build_half_hull(<span class="keyword">const</span> container&amp; input, container&amp; output,
+<a name="l00222"></a>00222 <span class="keyword">const</span> P&amp; left, <span class="keyword">const</span> P&amp; 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&lt;Factor&gt;(*it, output);
+<a name="l00228"></a>00228 }
+<a name="l00229"></a>00229 add_to_hull&lt;Factor&gt;(right, output);
+<a name="l00230"></a>00230 }
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> Factor&gt;
+<a name="l00233"></a>00233 <span class="keyword">inline</span> <span class="keywordtype">void</span> add_to_hull(<span class="keyword">const</span> P&amp; p, container&amp; output)
+<a name="l00234"></a>00234 {
+<a name="l00235"></a>00235 <span class="keyword">typename</span> strategy_side&lt;cs_tag, P&gt;::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 &gt;= 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&amp; last = *rit++;
+<a name="l00243"></a>00243 <span class="keyword">const</span> P&amp; last2 = *rit++;
+<a name="l00244"></a>00244
+<a name="l00245"></a>00245 <span class="keywordflow">if</span> (Factor * side.side(*rit, last, last2) &lt;= 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="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> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00269"></a>00269 <span class="keyword">struct </span>strategy_convex_hull&lt;cartesian_tag, P&gt;
+<a name="l00270"></a>00270 {
+<a name="l00271"></a>00271 <span class="keyword">typedef</span> strategy::convex_hull::graham&lt;P&gt; <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>
+</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&nbsp;
Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/agnostic/agn_simplify.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</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 &nbsp;</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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,236 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/agnostic/agn_simplify.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_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_AGNOSTIC_SIMPLIFY_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="comment">//#define GL_DEBUG_SIMPLIFY</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#ifdef GL_DEBUG_SIMPLIFY</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#include &lt;ggl/extensions/gis/io/wkt/write_wkt.hpp&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;ggl/extensions/gis/io/wkt/stream_wkt.hpp&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;iostream&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#endif</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>ggl
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028 <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="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
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035
+<a name="l00044"></a>00044 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt;
+<a name="l00045"></a>00045 <span class="keyword">struct </span>douglas_peucker_point
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="keyword">const</span> P&amp; 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(<span class="keyword">const</span> P&amp; ap)
+<a name="l00051"></a>00051 : p(ap)
+<a name="l00052"></a>00052 , included(<span class="keyword">false</span>)
+<a name="l00053"></a>00053 {}
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">inline</span> douglas_peucker_point&lt;P&gt; operator=(<span class="keyword">const</span> douglas_peucker_point&lt;P&gt;&amp; other)
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keywordflow">return</span> douglas_peucker_point&lt;P&gt;(*this);
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059 };
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061 <span class="preprocessor"> #endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span>
+<a name="l00063"></a>00063
+<a name="l00078"></a>00078 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> O_IT, <span class="keyword">typename</span> PSDS&gt;
+<a name="l00079"></a><a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">00079</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">douglas_peucker</a>
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <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&lt;R&gt;::type</a> P;
+<a name="l00082"></a>00082 <span class="keyword">typedef</span> detail::douglas_peucker_point&lt;P&gt; DP;
+<a name="l00083"></a>00083 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector&lt;DP&gt;::iterator DIT;
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keyword">typedef</span> <span class="keyword">typename</span> PSDS::return_type RET;
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="keyword">inline</span> <span class="keywordtype">void</span> consider(DIT begin, DIT end, <span class="keyword">const</span> RET&amp; max_dist, <span class="keywordtype">int</span>&amp; n,
+<a name="l00088"></a>00088 <span class="keyword">const</span> PSDS&amp; ps_distance_strategy)<span class="keyword"> const</span>
+<a name="l00089"></a>00089 <span class="keyword"> </span>{
+<a name="l00090"></a>00090 <span class="keywordtype">size_t</span> size = end - begin;
+<a name="l00091"></a>00091 <span class="comment">// size must be at least 3 here: we want to consider a candidate point between begin and end</span>
+<a name="l00092"></a>00092 <span class="keywordflow">if</span> (size &lt;= 2)
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 <span class="preprocessor">#ifdef GL_DEBUG_SIMPLIFY</span>
+<a name="l00095"></a>00095 <span class="preprocessor"></span> <span class="keywordflow">if</span> (begin != end)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 std::cout &lt;&lt; <span class="stringliteral">"ignore between "</span> &lt;&lt; begin-&gt;p &lt;&lt; <span class="stringliteral">" and "</span> &lt;&lt; (end - 1)-&gt;p &lt;&lt; <span class="stringliteral">" size="</span> &lt;&lt; size &lt;&lt; std::endl;
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 std::cout &lt;&lt; <span class="stringliteral">"return because size="</span> &lt;&lt; size &lt;&lt; std::endl;
+<a name="l00100"></a>00100 <span class="preprocessor">#endif</span>
+<a name="l00101"></a>00101 <span class="preprocessor"></span> <span class="keywordflow">return</span>;
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 DIT last = end - 1;
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="preprocessor">#ifdef GL_DEBUG_SIMPLIFY</span>
+<a name="l00107"></a>00107 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"find between "</span> &lt;&lt; begin-&gt;p &lt;&lt; <span class="stringliteral">" and "</span> &lt;&lt; last-&gt;p &lt;&lt; <span class="stringliteral">" size="</span> &lt;&lt; size &lt;&lt; std::endl;
+<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 <span class="comment">// Find most distance point, compare to the current segment</span>
+<a name="l00112"></a>00112 <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">ggl::segment&lt;const P&gt;</a> s(begin-&gt;p, last-&gt;p);
+<a name="l00113"></a>00113 RET md(-1.0); <span class="comment">// any value &lt; 0</span>
+<a name="l00114"></a>00114 DIT candidate;
+<a name="l00115"></a>00115 <span class="keywordflow">for</span>(DIT it = begin + 1; it != last; it++)
+<a name="l00116"></a>00116 {
+<a name="l00117"></a>00117 RET dist = ps_distance_strategy(it-&gt;p, s);
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="preprocessor">#ifdef GL_DEBUG_SIMPLIFY</span>
+<a name="l00120"></a>00120 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"consider "</span> &lt;&lt; it-&gt;p &lt;&lt; <span class="stringliteral">" at "</span> &lt;&lt; dist.value() &lt;&lt; (dist.value() &gt; max_dist.value() ? <span class="stringliteral">" maybe"</span> : <span class="stringliteral">" no"</span>) &lt;&lt; std::endl;
+<a name="l00121"></a>00121 <span class="preprocessor">#endif</span>
+<a name="l00122"></a>00122 <span class="preprocessor"></span> <span class="keywordflow">if</span> (dist &gt; md)
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 md = dist;
+<a name="l00125"></a>00125 candidate = it;
+<a name="l00126"></a>00126 }
+<a name="l00127"></a>00127 }
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="comment">// If a point is found, set the include flag and handle segments in between recursively</span>
+<a name="l00130"></a>00130 <span class="keywordflow">if</span> (md &gt; max_dist)
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132 <span class="preprocessor">#ifdef GL_DEBUG_SIMPLIFY</span>
+<a name="l00133"></a>00133 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"use "</span> &lt;&lt; candidate-&gt;p &lt;&lt; std::endl;
+<a name="l00134"></a>00134 <span class="preprocessor">#endif</span>
+<a name="l00135"></a>00135 <span class="preprocessor"></span>
+<a name="l00136"></a>00136 candidate-&gt;included = <span class="keyword">true</span>;
+<a name="l00137"></a>00137 n++;
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 consider(begin, candidate + 1, max_dist, n, ps_distance_strategy);
+<a name="l00140"></a>00140 consider(candidate, end, max_dist, n, ps_distance_strategy);
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142 }
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="keyword">public</span> :
+<a name="l00146"></a>00146
+<a name="l00147"></a><a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">00147</a> <span class="keyword">typedef</span> PSDS <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">distance_strategy_type</a>;
+<a name="l00148"></a>00148
+<a name="l00152"></a><a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#dca55aa87f6d5b49df52585fa0f97add">00152</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#dca55aa87f6d5b49df52585fa0f97add" title="Call simplification on an iterator pair.">simplify</a>(<span class="keyword">const</span> R&amp; range, O_IT out, <span class="keywordtype">double</span> max_distance)<span class="keyword"> const</span>
+<a name="l00153"></a>00153 <span class="keyword"> </span>{
+<a name="l00154"></a>00154 PSDS strategy;
+<a name="l00155"></a>00155 <span class="comment">// Init the output, a vector of references to all points</span>
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 <span class="comment">// Note Geometry Algorithms suggest here</span>
+<a name="l00158"></a>00158 <span class="comment">// http://geometryalgorithms.com/Archive/algorithm_0205/algorithm_0205.htm>
+<a name="l00159"></a>00159 <span class="comment">// to "STAGE 1: Vertex Reduction within max_distance of prior vertex cluster"</span>
+<a name="l00160"></a>00160 <span class="comment">// However, that is not correct: a vertex within the specified distance might be</span>
+<a name="l00161"></a>00161 <span class="comment">// excluded here, but might be a better candidate for final inclusion than the point before.</span>
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 std::vector&lt;DP&gt; ref_candidates(boost::begin(range), boost::end(range));
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 <span class="comment">// Include first and last point of line, they are always part of the line</span>
+<a name="l00166"></a>00166 <span class="keywordtype">int</span> n = 2;
+<a name="l00167"></a>00167 ref_candidates.front().included = <span class="keyword">true</span>;
+<a name="l00168"></a>00168 ref_candidates.back().included = <span class="keyword">true</span>;
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170 <span class="comment">// Get points, recursively, including them if they are further away than the specified distance</span>
+<a name="l00171"></a>00171 <span class="keyword">typedef</span> <span class="keyword">typename</span> PSDS::return_type RET;
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 consider(boost::begin(ref_candidates), boost::end(ref_candidates),
+<a name="l00174"></a>00174 make_distance_result&lt;RET&gt;(max_distance), n, strategy);
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 <span class="comment">// Copy included elements to the output (might be changed using copy_if)</span>
+<a name="l00177"></a>00177 <span class="keywordflow">for</span>(<span class="keyword">typename</span> std::vector&lt;DP&gt;::const_iterator it = boost::begin(ref_candidates);
+<a name="l00178"></a>00178 it != boost::end(ref_candidates); it++)
+<a name="l00179"></a>00179 {
+<a name="l00180"></a>00180 <span class="keywordflow">if</span> (it-&gt;included)
+<a name="l00181"></a>00181 {
+<a name="l00182"></a>00182 *out = it-&gt;p;
+<a name="l00183"></a>00183 out++;
+<a name="l00184"></a>00184 }
+<a name="l00185"></a>00185 }
+<a name="l00186"></a>00186 }
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 };
+<a name="l00189"></a>00189
+<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 ggl</span>
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <span class="preprocessor">#endif // GGL_STRATEGY_AGNOSTIC_SIMPLIFY_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&nbsp;
Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/agnostic/agn_within.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding&lt; P, PS &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within detection using <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a> rule. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::strategy::within::winding&lt; P, PS &gt;::windings</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,216 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/agnostic/agn_within.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_AGNOSTIC_WITHIN_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_AGNOSTIC_WITHIN_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl
+<a name="l00021"></a>00021 {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>strategy
+<a name="l00023"></a>00023 {
+<a name="l00024"></a><a class="code" href="namespaceggl_1_1strategy_1_1within.html">00024</a> <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00037"></a>00037 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS = P&gt;
+<a name="l00038"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html">00038</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a>
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keyword">private</span> :
+<a name="l00041"></a>00041 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;P&gt;::type</a> PT;
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;PS&gt;::type</a> ST;
+<a name="l00043"></a>00043
+<a name="l00045"></a>00045 <span class="keyword">struct </span>windings
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="keywordtype">int</span> count;
+<a name="l00048"></a>00048 <span class="keywordtype">bool</span> touches;
+<a name="l00049"></a>00049 <span class="keyword">const</span> P&amp; p;
+<a name="l00050"></a>00050 <span class="keyword">inline</span> <span class="keyword">explicit</span> windings(<span class="keyword">const</span> P&amp; ap)
+<a name="l00051"></a>00051 : count(0)
+<a name="l00052"></a>00052 , touches(<span class="keyword">false</span>)
+<a name="l00053"></a>00053 , p(ap)
+<a name="l00054"></a>00054 {}
+<a name="l00055"></a>00055 <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>()<span class="keyword"> const</span>
+<a name="l00056"></a>00056 <span class="keyword"> </span>{
+<a name="l00057"></a>00057 <span class="keywordflow">return</span> ! touches &amp;&amp; count != 0;
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059 };
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> D&gt;
+<a name="l00062"></a>00062 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> check_touch(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, windings&amp; state)
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="keyword">const</span> PT&amp; p = get&lt;D&gt;(state.p);
+<a name="l00065"></a>00065 <span class="keyword">const</span> ST&amp; s1 = get&lt;0, D&gt;(s);
+<a name="l00066"></a>00066 <span class="keyword">const</span> ST&amp; s2 = get&lt;1, D&gt;(s);
+<a name="l00067"></a>00067 <span class="keywordflow">if</span> ((s1 &lt;= p &amp;&amp; s2 &gt;= p) || (s2 &lt;= p &amp;&amp; s1 &gt;= p))
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 state.touches = <span class="keyword">true</span>;
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071 <span class="keywordflow">return</span> 0;
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> D&gt;
+<a name="l00076"></a>00076 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> check_segment(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, windings&amp; state)
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 <span class="keyword">const</span> PT&amp; p = get&lt;D&gt;(state.p);
+<a name="l00079"></a>00079 <span class="keyword">const</span> ST&amp; s1 = get&lt;0, D&gt;(s);
+<a name="l00080"></a>00080 <span class="keyword">const</span> ST&amp; s2 = get&lt;1, D&gt;(s);
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="comment">// Check if one of segment endpoints is at same level of point</span>
+<a name="l00083"></a>00083 <span class="keywordtype">bool</span> eq1 = <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(s1, p);
+<a name="l00084"></a>00084 <span class="keywordtype">bool</span> eq2 = <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(s2, p);
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="keywordflow">if</span> (eq1 &amp;&amp; eq2)
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="comment">// Both equal p -&gt; segment is horizontal (or vertical for D=0)</span>
+<a name="l00089"></a>00089 <span class="comment">// The only thing which has to be done is check if point is ON segment</span>
+<a name="l00090"></a>00090 <span class="keywordflow">return</span> check_touch&lt;1 - D&gt;(s, state);
+<a name="l00091"></a>00091 }
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="keywordflow">return</span>
+<a name="l00094"></a>00094 eq1 ? (s2 &gt; p ? 1 : -1) <span class="comment">// P on level s1, UP/DOWN depending on s2</span>
+<a name="l00095"></a>00095 : eq2 ? (s1 &gt; p ? -1 : 1) <span class="comment">// idem</span>
+<a name="l00096"></a>00096 : s1 &lt; p &amp;&amp; s2 &gt; p ? 2 <span class="comment">// P between s1 -&gt; s2 --&gt; UP</span>
+<a name="l00097"></a>00097 : s2 &lt; p &amp;&amp; s1 &gt; p ? -2 <span class="comment">// P between s2 -&gt; s1 --&gt; DOWN</span>
+<a name="l00098"></a>00098 : 0;
+<a name="l00099"></a>00099 }
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keyword">public</span> :
+<a name="l00103"></a>00103
+<a name="l00104"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">00104</a> <span class="keyword">typedef</span> windings <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a>;
+<a name="l00105"></a>00105
+<a name="l00106"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">00106</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">operator()</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a>&amp; state)<span class="keyword"> const</span>
+<a name="l00107"></a>00107 <span class="keyword"> </span>{
+<a name="l00108"></a>00108 <span class="keywordtype">int</span> cnt = check_segment&lt;1&gt;(s, state);
+<a name="l00109"></a>00109 <span class="keywordflow">if</span> (cnt != 0)
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__side.html" title="Traits class binding a side determination strategy to a coordinate system.">strategy_side&lt;typename cs_tag&lt;P&gt;::type</a>, P, PS&gt;::type SS;
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type&lt;P, PS&gt;::type</a> side = SS::side(s, state.p);
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="keywordflow">if</span> (<a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">math::equals</a>(side, 0))
+<a name="l00116"></a>00116 {
+<a name="l00117"></a>00117 <span class="comment">// Point is lying on segment</span>
+<a name="l00118"></a>00118 state.touches = <span class="keyword">true</span>;
+<a name="l00119"></a>00119 state.count = 0;
+<a name="l00120"></a>00120 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00121"></a>00121 }
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="comment">// Side is NEG for right, POS for left.</span>
+<a name="l00124"></a>00124 <span class="comment">// CNT is -2 for down, 2 for up (or -1/1)</span>
+<a name="l00125"></a>00125 <span class="comment">// Side positive thus means UP and LEFTSIDE or DOWN and RIGHTSIDE</span>
+<a name="l00126"></a>00126 <span class="comment">// See accompagnying figure (TODO)</span>
+<a name="l00127"></a>00127 <span class="keywordtype">int</span> sd = (side &gt; 0 ? 1 : -1) * cnt;
+<a name="l00128"></a>00128 <span class="keywordflow">if</span> (sd &gt; 0)
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130 state.count += cnt;
+<a name="l00131"></a>00131 }
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134 <span class="keywordflow">return</span> ! state.touches;
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 };
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 } <span class="comment">// namespace within</span>
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 } <span class="comment">// namespace strategy</span>
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00145"></a>00145 <span class="preprocessor"></span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS&gt;
+<a name="l00146"></a>00146 <span class="keyword">struct </span>strategy_within&lt;cartesian_tag, cartesian_tag, P, PS&gt;
+<a name="l00147"></a>00147 {
+<a name="l00148"></a>00148 <span class="keyword">typedef</span> strategy::within::winding&lt;P, PS&gt; <a class="code" href="structggl_1_1strategy__within.html#91c77dd02ec4c0826d7b4debc7aa6599">type</a>;
+<a name="l00149"></a>00149 };
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS&gt;
+<a name="l00152"></a>00152 <span class="keyword">struct </span>strategy_within&lt;geographic_tag, geographic_tag, P, PS&gt;
+<a name="l00153"></a>00153 {
+<a name="l00154"></a>00154 <span class="keyword">typedef</span> strategy::within::winding&lt;P, PS&gt; <a class="code" href="structggl_1_1strategy__within.html#91c77dd02ec4c0826d7b4debc7aa6599">type</a>;
+<a name="l00155"></a>00155 };
+<a name="l00156"></a>00156 <span class="preprocessor">#endif</span>
+<a name="l00157"></a>00157 <span class="preprocessor"></span>
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 } <span class="comment">// namespace ggl</span>
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="preprocessor">#endif // GGL_STRATEGY_AGNOSTIC_WITHIN_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/area.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1area__result.html">ggl::area_result&lt; Geometry &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&lt;typename Geometry , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Strategy::return_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__area.html#g7e0783c73b5f561707c50b445a01b833">ggl::area</a> (Geometry const &amp;geometry, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate area of a geometry using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">area_result&lt; Geometry &gt;<br class="typebreak">
+::return_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3">ggl::area</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate area of a geometry. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,275 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/area.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_AREA_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_AREA_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="nsphere__concept_8hpp.html">ggl/core/concepts/nsphere_concept.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="loop_8hpp.html">ggl/util/loop.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</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>&lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> S&gt;
+<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&lt;B&gt;::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>&amp; b, S <span class="keyword">const</span>&amp;)
+<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&lt;B, 2&gt;();
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 return_type <span class="keyword">const</span> dx = get&lt;max_corner, 0&gt;(b) - get&lt;min_corner, 0&gt;(b);
+<a name="l00067"></a>00067 return_type <span class="keyword">const</span> dy = get&lt;max_corner, 1&gt;(b) - get&lt;min_corner, 1&gt;(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="l00072"></a>00072
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> S&gt;
+<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&lt;C&gt;::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 &lt;
+<a name="l00082"></a>00082 boost::is_integral&lt;coordinate_type&gt;::type::value,
+<a name="l00083"></a>00083 double,
+<a name="l00084"></a>00084 coordinate_type
+<a name="l00085"></a>00085 &gt;::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>&amp; c, S <span class="keyword">const</span>&amp;)
+<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&lt;C, 2&gt;();
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 return_type r = get_radius&lt;0&gt;(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>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> S&gt;
+<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>&amp; ring, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 assert_dimension&lt;R, 2&gt;();
+<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) &gt;= 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>&lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy&gt;
+<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>&amp; 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>&amp; poly,
+<a name="l00140"></a>00140 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 assert_dimension&lt;Polygon, 2&gt;();
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::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 &lt;
+<a name="l00147"></a>00147 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00148"></a>00148 &gt;::type iterator_type;
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 type a = call_abs(
+<a name="l00151"></a>00151 ring_area&lt;ring_type, Strategy&gt;::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&lt;ring_type, Strategy&gt;::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="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> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
+<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&lt;typename S::return_type, G, S&gt; {};
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
+<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>&lt;box_tag, G, S&gt; : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::box_area&lt;G, S&gt; {};
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
+<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>&lt;nsphere_tag, G, S&gt; : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::circle_area&lt;G, S&gt; {};
+<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> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
+<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>&lt;ring_tag, G, S&gt; : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::ring_area&lt;G, S&gt; {};
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
+<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>&lt;polygon_tag, G, S&gt; : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::polygon_area&lt;G, S&gt; {};
+<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> &lt;<span class="keyword">typename</span> Geometry&gt;
+<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&lt;Geometry&gt;::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 &lt;
+<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&lt;point_type&gt;::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> &gt;::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="l00204"></a>00204
+<a name="l00216"></a>00216 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<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&lt;Geometry&gt;::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>&amp; 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&lt;Geometry&gt;::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 &lt;
+<a name="l00223"></a>00223 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00224"></a>00224 Geometry,
+<a name="l00225"></a>00225 strategy_type
+<a name="l00226"></a>00226 &gt;::apply(geometry, strategy_type());
+<a name="l00227"></a>00227 }
+<a name="l00228"></a>00228
+<a name="l00238"></a>00238 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<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>&amp; geometry, Strategy <span class="keyword">const</span>&amp; 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 &lt;
+<a name="l00244"></a>00244 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00245"></a>00245 Geometry,
+<a name="l00246"></a>00246 Strategy
+<a name="l00247"></a>00247 &gt;::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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,95 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/centroid.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1centroid__exception.html">ggl::centroid_exception</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&lt;typename G , typename P , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gda8ccb0bcdd94cebe5b66374259c1fe2">ggl::centroid</a> (const G &amp;geometry, P &amp;c, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate centroid using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd">ggl::centroid</a> (const G &amp;geometry, P &amp;c)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate centroid. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P , typename G , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">P&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#g8c284d8ca53c0ace8827431178438852">ggl::make_centroid</a> (const G &amp;geometry, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P , typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">P&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4">ggl::make_centroid</a> (const G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return centroid. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,270 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/centroid.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_CENTROID_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_CENTROID_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="exception_8hpp.html">ggl/core/exception.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="loop_8hpp.html">ggl/util/loop.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00045"></a>00045 <span class="keyword">namespace </span>ggl
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047
+<a name="l00048"></a><a class="code" href="classggl_1_1centroid__exception.html">00048</a> <span class="keyword">class </span><a class="code" href="classggl_1_1centroid__exception.html">centroid_exception</a> : <span class="keyword">public</span> ggl::<a class="code" href="structggl_1_1exception.html" title="Base exception class for GGL.">exception</a>
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keyword">public</span>:
+<a name="l00051"></a>00051
+<a name="l00052"></a><a class="code" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">00052</a> <a class="code" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">centroid_exception</a>() {}
+<a name="l00053"></a>00053
+<a name="l00054"></a><a class="code" href="classggl_1_1centroid__exception.html#bff3b7df94389d48e50390a95dbbde7f">00054</a> <span class="keyword">virtual</span> <span class="keywordtype">char</span> <span class="keyword">const</span>* <a class="code" href="classggl_1_1centroid__exception.html#bff3b7df94389d48e50390a95dbbde7f">what</a>() <span class="keyword">const</span> throw()
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keywordflow">return</span> <span class="stringliteral">"centroid calculation exception"</span>;
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a> {
+<a name="l00064"></a>00064
+<a name="l00068"></a>00068 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> R&gt;
+<a name="l00069"></a>00069 <span class="keyword">inline</span> <span class="keywordtype">bool</span> ring_ok(R <span class="keyword">const</span>&amp; ring, P&amp; c)
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 std::size_t <span class="keyword">const</span> n = boost::size(ring);
+<a name="l00072"></a>00072 <span class="keywordflow">if</span> (n &gt; 1)
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00075"></a>00075 }
+<a name="l00076"></a>00076 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n &lt;= 0)
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 <span class="keywordflow">throw</span> centroid_exception();
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 <span class="keywordflow">else</span>
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 <span class="comment">// n == 1: Take over the first point in a "coordinate neutral way"</span>
+<a name="l00083"></a>00083 <a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a>(ring.front(), c);
+<a name="l00084"></a>00084 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00085"></a>00085 }
+<a name="l00086"></a>00086 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00087"></a>00087 }
+<a name="l00088"></a>00088
+<a name="l00092"></a>00092 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00093"></a>00093 <span class="keyword">struct </span>centroid_ring
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Ring <span class="keyword">const</span>&amp; ring, Point&amp; c, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="keywordflow">if</span> (ring_ok(ring, c))
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 <span class="keyword">typename</span> Strategy::state_type state;
+<a name="l00100"></a>00100 <a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(ring, strategy, state);
+<a name="l00101"></a>00101 state.centroid(c);
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103 }
+<a name="l00104"></a>00104 };
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106
+<a name="l00112"></a>00112 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00113"></a>00113 <span class="keyword">struct </span>centroid_polygon
+<a name="l00114"></a>00114 {
+<a name="l00115"></a>00115 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>&amp; poly, Point&amp; c, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00116"></a>00116 {
+<a name="l00117"></a>00117 <span class="keywordflow">if</span> (ring_ok(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), c))
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 <span class="keyword">typename</span> Strategy::state_type state;
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), strategy, state);
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00124"></a>00124 &lt;
+<a name="l00125"></a>00125 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00126"></a>00126 &gt;::type iterator_type;
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00129"></a>00129 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00130"></a>00130 ++it)
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132 <a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(*it, strategy, state);
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134 state.centroid(c);
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136 }
+<a name="l00137"></a>00137 };
+<a name="l00138"></a>00138
+<a name="l00143"></a>00143 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00144"></a>00144 <span class="keyword">struct </span>centroid_box
+<a name="l00145"></a>00145 {
+<a name="l00146"></a>00146 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box <span class="keyword">const</span>&amp; box, Point&amp; c, Strategy <span class="keyword">const</span>&amp;)
+<a name="l00147"></a>00147 {
+<a name="l00148"></a>00148 <span class="comment">// TODO: adapt using strategies</span>
+<a name="l00149"></a>00149 assert_dimension&lt;Box, 2&gt;();
+<a name="l00150"></a>00150 set&lt;0&gt;(c, (get&lt;min_corner, 0&gt;(box) + get&lt;max_corner, 0&gt;(box)) / 2);
+<a name="l00151"></a>00151 set&lt;1&gt;(c, (get&lt;min_corner, 1&gt;(box) + get&lt;max_corner, 1&gt;(box)) / 2);
+<a name="l00152"></a>00152 }
+<a name="l00153"></a>00153 };
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 }} <span class="comment">// namespace detail::centroid</span>
+<a name="l00156"></a>00156 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00157"></a>00157 <span class="preprocessor"></span>
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00160"></a>00160 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00161"></a>00161 {
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00164"></a>00164 <span class="keyword">struct </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a> {};
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00167"></a>00167 <span class="keyword">struct </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>&lt;box_tag, Box, Point, Strategy&gt;
+<a name="l00168"></a>00168 : detail::<a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>::centroid_box&lt;Box, Point, Strategy&gt;
+<a name="l00169"></a>00169 {};
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00172"></a>00172 <span class="keyword">struct </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>&lt;ring_tag, Ring, Point, Strategy&gt;
+<a name="l00173"></a>00173 : detail::<a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>::centroid_ring&lt;Ring, Point, Strategy&gt;
+<a name="l00174"></a>00174 {};
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00177"></a>00177 <span class="keyword">struct </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>&lt;polygon_tag, Polygon, Point, Strategy&gt;
+<a name="l00178"></a>00178 : detail::<a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>::centroid_polygon&lt;Polygon, Point, Strategy&gt;
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180 {};
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 } <span class="comment">// namespace dispatch</span>
+<a name="l00183"></a>00183 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00184"></a>00184 <span class="preprocessor"></span>
+<a name="l00185"></a>00185
+<a name="l00202"></a>00202 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> P&gt;
+<a name="l00203"></a><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd">00203</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(<span class="keyword">const</span> G&amp; geometry, P&amp; c)
+<a name="l00204"></a>00204 {
+<a name="l00205"></a>00205 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;G&gt;::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00206"></a>00206 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__centroid.html" title="Traits class binding a centroid calculation strategy to a coordinate system.">strategy_centroid</a>
+<a name="l00207"></a>00207 &lt;
+<a name="l00208"></a>00208 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag&lt;point_type&gt;::type</a>,
+<a name="l00209"></a>00209 P,
+<a name="l00210"></a>00210 point_type
+<a name="l00211"></a>00211 &gt;::type strategy_type;
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">dispatch::centroid</a>
+<a name="l00214"></a>00214 &lt;
+<a name="l00215"></a>00215 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00216"></a>00216 G,
+<a name="l00217"></a>00217 P,
+<a name="l00218"></a>00218 strategy_type
+<a name="l00219"></a>00219 &gt;::apply(geometry, c, strategy_type());
+<a name="l00220"></a>00220 }
+<a name="l00221"></a>00221
+<a name="l00230"></a>00230 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> P, <span class="keyword">typename</span> S&gt;
+<a name="l00231"></a><a class="code" href="group__centroid.html#gda8ccb0bcdd94cebe5b66374259c1fe2">00231</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(<span class="keyword">const</span> G&amp; geometry, P&amp; c, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00232"></a>00232 {
+<a name="l00233"></a>00233 <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">dispatch::centroid</a>
+<a name="l00234"></a>00234 &lt;
+<a name="l00235"></a>00235 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00236"></a>00236 G,
+<a name="l00237"></a>00237 P,
+<a name="l00238"></a>00238 S
+<a name="l00239"></a>00239 &gt;::apply(geometry, c, strategy);
+<a name="l00240"></a>00240 }
+<a name="l00241"></a>00241
+<a name="l00242"></a>00242 <span class="comment">// Versions returning a centroid</span>
+<a name="l00243"></a>00243
+<a name="l00251"></a>00251 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> G&gt;
+<a name="l00252"></a><a class="code" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4">00252</a> <span class="keyword">inline</span> P <a class="code" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4" title="Calculate and return centroid.">make_centroid</a>(<span class="keyword">const</span> G&amp; geometry)
+<a name="l00253"></a>00253 {
+<a name="l00254"></a>00254 P c;
+<a name="l00255"></a>00255 <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(geometry, c);
+<a name="l00256"></a>00256 <span class="keywordflow">return</span> c;
+<a name="l00257"></a>00257 }
+<a name="l00258"></a>00258
+<a name="l00267"></a>00267 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
+<a name="l00268"></a><a class="code" href="group__centroid.html#g8c284d8ca53c0ace8827431178438852">00268</a> <span class="keyword">inline</span> P <a class="code" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4" title="Calculate and return centroid.">make_centroid</a>(<span class="keyword">const</span> G&amp; geometry, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00269"></a>00269 {
+<a name="l00270"></a>00270 P c;
+<a name="l00271"></a>00271 <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(geometry, c, strategy);
+<a name="l00272"></a>00272 <span class="keywordflow">return</span> c;
+<a name="l00273"></a>00273 }
+<a name="l00274"></a>00274
+<a name="l00275"></a>00275 } <span class="comment">// namespace ggl</span>
+<a name="l00276"></a>00276
+<a name="l00277"></a>00277 <span class="preprocessor">#endif // GGL_ALGORITHMS_CENTROID_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/convex_hull.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 &nbsp;</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&lt;typename Geometry , typename OutputIterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18">ggl::convex_hull</a> (Geometry const &amp;geometry, OutputIterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the convex hull of a geometry. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,167 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/convex_hull.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_ALGORITHMS_CONVEX_HULL_HPP</span>
+<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 &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="as__range_8hpp.html">ggl/util/as_range.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<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> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator&gt;
+<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>&amp; 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&lt;Geometry&gt;::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 &lt;
+<a name="l00059"></a>00059 <span class="keyword">typename</span> cs_tag&lt;point_type&gt;::type,
+<a name="l00060"></a>00060 point_type
+<a name="l00061"></a>00061 &gt;::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>&lt;<span class="keyword">typename</span> as_range_type&lt;Geometry&gt;::type&gt;(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 &lt;
+<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 &gt;
+<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> &lt;<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> OutputIterator&gt;
+<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>&lt;linestring_tag, false, Linestring, OutputIterator&gt;
+<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&lt;Linestring, OutputIterator&gt;
+<a name="l00089"></a>00089 {};
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> OutputIterator&gt;
+<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>&lt;ring_tag, false, Ring, OutputIterator&gt;
+<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&lt;Ring, OutputIterator&gt;
+<a name="l00094"></a>00094 {};
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> OutputIterator&gt;
+<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>&lt;polygon_tag, false, Polygon, OutputIterator&gt;
+<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&lt;Polygon, OutputIterator&gt;
+<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>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator&gt;
+<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>&amp; 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&lt;Geometry&gt;::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 &lt;
+<a name="l00118"></a>00118 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;ncg_type&gt;::type</a>,
+<a name="l00119"></a>00119 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;ncg_type&gt;::type::value</a>,
+<a name="l00120"></a>00120 Geometry,
+<a name="l00121"></a>00121 OutputIterator
+<a name="l00122"></a>00122 &gt;::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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/correct.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 &nbsp;</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&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">ggl::correct</a> (G &amp;geometry)</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,226 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/correct.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_ALGORITHMS_CORRECT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_CORRECT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;algorithm&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2area_8hpp.html">ggl/algorithms/area.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="disjoint_8hpp.html">ggl/algorithms/disjoint.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">namespace </span>ggl
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030
+<a name="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> &lt;<span class="keyword">typename</span> B&gt;
+<a name="l00036"></a>00036 <span class="keyword">inline</span> <span class="keywordtype">void</span> correct_box(B&amp; 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&lt;B&gt;::type</a> coordinate_type;
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="keywordflow">if</span> (get&lt;min_corner, 0&gt;(b) &gt; get&lt;max_corner, 0&gt;(b))
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 coordinate_type max_value = get&lt;min_corner, 0&gt;(b);
+<a name="l00046"></a>00046 coordinate_type min_value = get&lt;max_corner, 0&gt;(b);
+<a name="l00047"></a>00047 set&lt;min_corner, 0&gt;(b, min_value);
+<a name="l00048"></a>00048 set&lt;max_corner, 0&gt;(b, max_value);
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keywordflow">if</span> (get&lt;min_corner, 1&gt;(b) &gt; get&lt;max_corner, 1&gt;(b))
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 coordinate_type max_value = get&lt;min_corner, 1&gt;(b);
+<a name="l00054"></a>00054 coordinate_type min_value = get&lt;max_corner, 1&gt;(b);
+<a name="l00055"></a>00055 set&lt;min_corner, 1&gt;(b, min_value);
+<a name="l00056"></a>00056 set&lt;max_corner, 1&gt;(b, max_value);
+<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> &lt;<span class="keyword">typename</span> R&gt;
+<a name="l00062"></a>00062 <span class="keyword">inline</span> <span class="keywordtype">void</span> ensure_closed_ring(R&amp; r)
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="keywordflow">if</span> (boost::size(r) &gt; 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> &lt;<span class="keyword">typename</span> Y&gt;
+<a name="l00077"></a>00077 <span class="keyword">inline</span> <span class="keywordtype">void</span> correct_polygon(Y&amp; poly)
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keyword">typename</span> ring_type&lt;Y&gt;::type&amp; 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&lt;Y&gt;::type point_type;
+<a name="l00083"></a>00083 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Y&gt;::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 &lt;
+<a name="l00086"></a>00086 <span class="keyword">typename</span> cs_tag&lt;point_type&gt;::type,
+<a name="l00087"></a>00087 point_type
+<a name="l00088"></a>00088 &gt;::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&lt;ring_type, strategy_type&gt;::apply(outer, strategy) &lt; 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 &lt;
+<a name="l00099"></a>00099 <span class="keyword">typename</span> interior_type&lt;Y&gt;::type
+<a name="l00100"></a>00100 &gt;::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&lt;ring_type, strategy_type&gt;::apply(*it, strategy) &gt; 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> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G&gt;
+<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> &lt;<span class="keyword">typename</span> B&gt;
+<a name="l00124"></a>00124 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a>&lt;box_tag, B&gt;
+<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&amp; 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> &lt;<span class="keyword">typename</span> R&gt;
+<a name="l00133"></a>00133 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a>&lt;ring_tag, R&gt;
+<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&amp; 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> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00142"></a>00142 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a>&lt;polygon_tag, P&gt;
+<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&amp; 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> &lt;<span class="keyword">typename</span> G&gt;
+<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&amp; geometry)
+<a name="l00155"></a>00155 {
+<a name="l00156"></a>00156 dispatch::correct&lt;typename tag&lt;G&gt;::type, G&gt;::apply(geometry);
+<a name="l00157"></a>00157 }
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 } <span class="comment">// namespace ggl</span>
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161 <span class="preprocessor">#endif // GGL_ALGORITHMS_CORRECT_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/algorithms/distance.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 &nbsp;</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&lt;typename Geometry1 , typename Geometry2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">distance_result&lt; Geometry1, <br class="typebreak">
+Geometry2 &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#gd122aa78e960f37b9d61bb02c6913f55">ggl::distance</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate distance between two geometries. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry1 , typename Geometry2 , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Strategy::return_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#g22a618786d2601e9201896a8346c161b">ggl::distance</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate distance between two geometries with a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,363 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/distance.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_ALGORITHMS_DISTANCE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_DISTANCE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/static_assert.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="reverse__dispatch_8hpp.html">ggl/core/reverse_dispatch.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00055"></a>00055 <span class="keyword">namespace </span>ggl
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <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="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00062"></a>00062 <span class="keyword">struct </span>point_to_point
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> Strategy::return_type apply(P1 <span class="keyword">const</span>&amp; p1,
+<a name="l00065"></a>00065 P2 <span class="keyword">const</span>&amp; p2, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keywordflow">return</span> strategy(p1, p2);
+<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 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00073"></a>00073 <span class="keyword">struct </span>point_to_segment
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> Strategy::return_type apply(Point <span class="keyword">const</span>&amp; point,
+<a name="l00076"></a>00076 Segment <span class="keyword">const</span>&amp; segment, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 <span class="keyword">typename</span> strategy_distance_segment
+<a name="l00079"></a>00079 &lt;
+<a name="l00080"></a>00080 <span class="keyword">typename</span> cs_tag&lt;Point&gt;::type,
+<a name="l00081"></a>00081 <span class="keyword">typename</span> cs_tag&lt;Segment&gt;::type,
+<a name="l00082"></a>00082 Point,
+<a name="l00083"></a>00083 Segment
+<a name="l00084"></a>00084 &gt;::type segment_strategy;
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="keywordflow">return</span> segment_strategy(point, segment);
+<a name="l00087"></a>00087 }
+<a name="l00088"></a>00088 };
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> L, <span class="keyword">typename</span> PPStrategy, <span class="keyword">typename</span> PSStrategy&gt;
+<a name="l00092"></a>00092 <span class="keyword">struct </span>point_to_linestring
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 <span class="keyword">typedef</span> <span class="keyword">typename</span> PPStrategy::return_type return_type;
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(P <span class="keyword">const</span>&amp; point, L <span class="keyword">const</span>&amp; linestring,
+<a name="l00097"></a>00097 PPStrategy <span class="keyword">const</span>&amp; pp_strategy, PSStrategy <span class="keyword">const</span>&amp; ps_strategy)
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 <span class="keyword">typedef</span> segment&lt;const typename point_type&lt;L&gt;::type&gt; segment_type;
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keywordflow">if</span> (boost::begin(linestring) == boost::end(linestring))
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="keywordflow">return</span> return_type(0);
+<a name="l00104"></a>00104 }
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="comment">// line of one point: return point square_distance</span>
+<a name="l00107"></a>00107 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;L&gt;::type iterator_type;
+<a name="l00108"></a>00108 iterator_type it = boost::begin(linestring);
+<a name="l00109"></a>00109 iterator_type prev = it++;
+<a name="l00110"></a>00110 <span class="keywordflow">if</span> (it == boost::end(linestring))
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 <span class="keywordflow">return</span> pp_strategy(point, *boost::begin(linestring));
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="comment">// start with first segment distance</span>
+<a name="l00117"></a>00117 return_type d = ps_strategy(point, segment_type(*prev, *it));
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="comment">// check if other segments are closer</span>
+<a name="l00120"></a>00120 prev = it++;
+<a name="l00121"></a>00121 <span class="keywordflow">while</span>(it != boost::end(linestring))
+<a name="l00122"></a>00122 {
+<a name="l00123"></a>00123 return_type ds = ps_strategy(point, segment_type(*prev, *it));
+<a name="l00124"></a>00124 <span class="keywordflow">if</span> (<a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098" title="Utility function to check if a distance is very small.">ggl::close_to_zero</a>(ds))
+<a name="l00125"></a>00125 {
+<a name="l00126"></a>00126 <span class="keywordflow">return</span> return_type(0);
+<a name="l00127"></a>00127 }
+<a name="l00128"></a>00128 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ds &lt; d)
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130 d = ds;
+<a name="l00131"></a>00131 }
+<a name="l00132"></a>00132 prev = it++;
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keywordflow">return</span> d;
+<a name="l00136"></a>00136 }
+<a name="l00137"></a>00137 };
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 }} <span class="comment">// namespace detail::distance</span>
+<a name="l00142"></a>00142 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00143"></a>00143 <span class="preprocessor"></span>
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00146"></a>00146 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<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 &lt;
+<a name="l00151"></a>00151 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00152"></a>00152 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00153"></a>00153 <span class="keyword">typename</span> StrategyTag, <span class="keyword">typename</span> Strategy,
+<a name="l00154"></a>00154 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2
+<a name="l00155"></a>00155 &gt;
+<a name="l00156"></a>00156 <span class="keyword">struct </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
+<a name="l00157"></a>00157 {};
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00161"></a>00161 <span class="keyword">struct </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
+<a name="l00162"></a>00162 &lt;
+<a name="l00163"></a>00163 point_tag, point_tag,
+<a name="l00164"></a>00164 P1, P2,
+<a name="l00165"></a>00165 strategy_tag_distance_point_point, Strategy,
+<a name="l00166"></a>00166 false, false
+<a name="l00167"></a>00167 &gt; : detail::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::point_to_point&lt;P1, P2, Strategy&gt;
+<a name="l00168"></a>00168 {};
+<a name="l00169"></a>00169
+<a name="l00171"></a>00171 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00172"></a>00172 <span class="keyword">struct </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
+<a name="l00173"></a>00173 &lt;
+<a name="l00174"></a>00174 point_tag, linestring_tag,
+<a name="l00175"></a>00175 Point, Linestring,
+<a name="l00176"></a>00176 strategy_tag_distance_point_point, Strategy,
+<a name="l00177"></a>00177 false, false
+<a name="l00178"></a>00178 &gt;
+<a name="l00179"></a>00179 {
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> Strategy::return_type apply(Point <span class="keyword">const</span>&amp; point,
+<a name="l00182"></a>00182 Linestring <span class="keyword">const</span>&amp; linestring,
+<a name="l00183"></a>00183 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00184"></a>00184 {
+<a name="l00185"></a>00185 <span class="keyword">typedef</span> segment&lt;const typename point_type&lt;Linestring&gt;::type&gt; segment_type;
+<a name="l00186"></a>00186 <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...">ggl::strategy_distance_segment</a>
+<a name="l00187"></a>00187 &lt;
+<a name="l00188"></a>00188 <span class="keyword">typename</span> cs_tag&lt;Point&gt;::type,
+<a name="l00189"></a>00189 <span class="keyword">typename</span> cs_tag&lt;segment_type&gt;::type,
+<a name="l00190"></a>00190 Point,
+<a name="l00191"></a>00191 segment_type
+<a name="l00192"></a>00192 &gt;::type ps_strategy_type;
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194 <span class="keywordflow">return</span> detail::distance::point_to_linestring
+<a name="l00195"></a>00195 &lt;
+<a name="l00196"></a>00196 Point, Linestring, Strategy, ps_strategy_type
+<a name="l00197"></a>00197 &gt;::apply(point, linestring, strategy, ps_strategy_type());
+<a name="l00198"></a>00198 }
+<a name="l00199"></a>00199 };
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201
+<a name="l00203"></a>00203 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00204"></a>00204 <span class="keyword">struct </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
+<a name="l00205"></a>00205 &lt;
+<a name="l00206"></a>00206 point_tag, linestring_tag,
+<a name="l00207"></a>00207 Point, Linestring,
+<a name="l00208"></a>00208 strategy_tag_distance_point_segment, Strategy,
+<a name="l00209"></a>00209 false, false
+<a name="l00210"></a>00210 &gt;
+<a name="l00211"></a>00211 {
+<a name="l00212"></a>00212 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> Strategy::return_type apply(Point <span class="keyword">const</span>&amp; point,
+<a name="l00213"></a>00213 Linestring <span class="keyword">const</span>&amp; linestring,
+<a name="l00214"></a>00214 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00215"></a>00215 {
+<a name="l00216"></a>00216 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::point_strategy_type pp_strategy_type;
+<a name="l00217"></a>00217 <span class="keywordflow">return</span> detail::distance::point_to_linestring
+<a name="l00218"></a>00218 &lt;
+<a name="l00219"></a>00219 Point, Linestring, pp_strategy_type, Strategy
+<a name="l00220"></a>00220 &gt;::apply(point, linestring, pp_strategy_type(), strategy);
+<a name="l00221"></a>00221 }
+<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> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00226"></a>00226 <span class="keyword">struct </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
+<a name="l00227"></a>00227 &lt;
+<a name="l00228"></a>00228 point_tag, segment_tag,
+<a name="l00229"></a>00229 Point, Segment,
+<a name="l00230"></a>00230 strategy_tag_distance_point_point, Strategy,
+<a name="l00231"></a>00231 false, false
+<a name="l00232"></a>00232 &gt; : detail::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::point_to_segment&lt;Point, Segment, Strategy&gt;
+<a name="l00233"></a>00233 {};
+<a name="l00234"></a>00234
+<a name="l00235"></a>00235
+<a name="l00236"></a>00236 <span class="comment">// Strictly spoken this might be in namespace &lt;impl&gt; again</span>
+<a name="l00237"></a>00237 <span class="keyword">template</span>
+<a name="l00238"></a>00238 &lt;
+<a name="l00239"></a>00239 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00240"></a>00240 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00241"></a>00241 <span class="keyword">typename</span> StrategyTag, <span class="keyword">typename</span> Strategy,
+<a name="l00242"></a>00242 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2
+<a name="l00243"></a>00243 &gt;
+<a name="l00244"></a>00244 <span class="keyword">struct </span>distance_reversed
+<a name="l00245"></a>00245 {
+<a name="l00246"></a>00246 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> Strategy::return_type apply(G1 <span class="keyword">const</span>&amp; g1,
+<a name="l00247"></a>00247 G2 <span class="keyword">const</span>&amp; g2, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00248"></a>00248 {
+<a name="l00249"></a>00249 <span class="keywordflow">return</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
+<a name="l00250"></a>00250 &lt;
+<a name="l00251"></a>00251 GeometryTag2, GeometryTag1,
+<a name="l00252"></a>00252 G2, G1,
+<a name="l00253"></a>00253 StrategyTag, Strategy,
+<a name="l00254"></a>00254 IsMulti2, IsMulti1
+<a name="l00255"></a>00255 &gt;::apply(g2, g1, strategy);
+<a name="l00256"></a>00256 }
+<a name="l00257"></a>00257 };
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 } <span class="comment">// namespace dispatch</span>
+<a name="l00260"></a>00260 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00261"></a>00261 <span class="preprocessor"></span>
+<a name="l00281"></a>00281 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00282"></a><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b">00282</a> <span class="keyword">inline</span> <span class="keyword">typename</span> Strategy::return_type <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00283"></a>00283 Geometry2 <span class="keyword">const</span>&amp; geometry2, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00284"></a>00284 {
+<a name="l00285"></a>00285 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry1&gt;::type ncg1_type;
+<a name="l00286"></a>00286 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry2&gt;::type ncg2_type;
+<a name="l00287"></a>00287
+<a name="l00288"></a>00288 <span class="keywordflow">return</span> boost::mpl::if_c
+<a name="l00289"></a>00289 &lt;
+<a name="l00290"></a>00290 <a class="code" href="structggl_1_1reverse__dispatch.html">ggl::reverse_dispatch&lt;Geometry1, Geometry2&gt;::type::value</a>,
+<a name="l00291"></a>00291 dispatch::distance_reversed
+<a name="l00292"></a>00292 &lt;
+<a name="l00293"></a>00293 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;ncg1_type&gt;::type</a>,
+<a name="l00294"></a>00294 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;ncg2_type&gt;::type</a>,
+<a name="l00295"></a>00295 ncg1_type,
+<a name="l00296"></a>00296 ncg2_type,
+<a name="l00297"></a>00297 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__tag__unknown.html">strategy_tag&lt;Strategy&gt;::type</a>,
+<a name="l00298"></a>00298 Strategy,
+<a name="l00299"></a>00299 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;ncg1_type&gt;::value</a>,
+<a name="l00300"></a>00300 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;ncg2_type&gt;::value</a>
+<a name="l00301"></a>00301 &gt;,
+<a name="l00302"></a>00302 <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">dispatch::distance</a>
+<a name="l00303"></a>00303 &lt;
+<a name="l00304"></a>00304 <span class="keyword">typename</span> tag&lt;ncg1_type&gt;::type,
+<a name="l00305"></a>00305 <span class="keyword">typename</span> tag&lt;ncg2_type&gt;::type,
+<a name="l00306"></a>00306 ncg1_type,
+<a name="l00307"></a>00307 ncg2_type,
+<a name="l00308"></a>00308 <span class="keyword">typename</span> strategy_tag&lt;Strategy&gt;::type,
+<a name="l00309"></a>00309 Strategy,
+<a name="l00310"></a>00310 is_multi&lt;ncg1_type&gt;::value,
+<a name="l00311"></a>00311 is_multi&lt;ncg2_type&gt;::value
+<a name="l00312"></a>00312 &gt;
+<a name="l00313"></a>00313 &gt;::type::apply(geometry1, geometry2, strategy);
+<a name="l00314"></a>00314 }
+<a name="l00315"></a>00315
+<a name="l00316"></a>00316
+<a name="l00327"></a>00327 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00328"></a><a class="code" href="group__distance.html#gd122aa78e960f37b9d61bb02c6913f55">00328</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1distance__result.html" title="Shortcut to define return type of distance strategy.">distance_result&lt;Geometry1, Geometry2&gt;::type</a> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(
+<a name="l00329"></a>00329 Geometry1 <span class="keyword">const</span>&amp; geometry1, Geometry2 <span class="keyword">const</span>&amp; geometry2)
+<a name="l00330"></a>00330 {
+<a name="l00331"></a>00331 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;Geometry1&gt;::type</a> point1_type;
+<a name="l00332"></a>00332 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;Geometry2&gt;::type</a> point2_type;
+<a name="l00333"></a>00333
+<a name="l00334"></a>00334 <span class="comment">// Define a point-point-distance-strategy</span>
+<a name="l00335"></a>00335 <span class="comment">// for either the normal case, either the reversed case</span>
+<a name="l00336"></a>00336 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00337"></a>00337 &lt;
+<a name="l00338"></a>00338 <a class="code" href="structggl_1_1reverse__dispatch.html">ggl::reverse_dispatch&lt;Geometry1, Geometry2&gt;::type::value</a>,
+<a name="l00339"></a>00339 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
+<a name="l00340"></a>00340 &lt;
+<a name="l00341"></a>00341 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag&lt;point2_type&gt;::type</a>,
+<a name="l00342"></a>00342 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag&lt;point1_type&gt;::type</a>,
+<a name="l00343"></a>00343 point2_type,
+<a name="l00344"></a>00344 point1_type
+<a name="l00345"></a>00345 &gt;::type,
+<a name="l00346"></a>00346 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
+<a name="l00347"></a>00347 &lt;
+<a name="l00348"></a>00348 <span class="keyword">typename</span> cs_tag&lt;point1_type&gt;::type,
+<a name="l00349"></a>00349 <span class="keyword">typename</span> cs_tag&lt;point2_type&gt;::type,
+<a name="l00350"></a>00350 point1_type,
+<a name="l00351"></a>00351 point2_type
+<a name="l00352"></a>00352 &gt;::type
+<a name="l00353"></a>00353 &gt;::type strategy;
+<a name="l00354"></a>00354
+<a name="l00355"></a>00355 <span class="keywordflow">return</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(geometry1, geometry2, strategy());
+<a name="l00356"></a>00356 }
+<a name="l00357"></a>00357
+<a name="l00358"></a>00358 } <span class="comment">// namespace ggl</span>
+<a name="l00359"></a>00359
+<a name="l00360"></a>00360 <span class="preprocessor">#endif // GGL_ALGORITHMS_DISTANCE_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,92 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/envelope.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 &nbsp;</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&lt;typename G , typename B &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g89671917cfb1753f65d4bcc2fc334bf9">ggl::envelope</a> (G const &amp;geometry, B &amp;mbr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate envelope of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename B , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36">ggl::envelope</a> (G const &amp;geometry, B &amp;mbr, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate envelope of a geometry, using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename B , typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">B&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g938cf2804a87e138cbf4b5b65314a3e4">ggl::make_envelope</a> (G const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename B , typename G , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">B&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d">ggl::make_envelope</a> (G const &amp;geometry, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,321 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/envelope.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_ALGORITHMS_ENVELOPE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_ENVELOPE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="combine_8hpp.html">ggl/algorithms/combine.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="box__concept_8hpp.html">ggl/core/concepts/box_concept.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="linestring__concept_8hpp.html">ggl/core/concepts/linestring_concept.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="nsphere__concept_8hpp.html">ggl/core/concepts/nsphere_concept.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="polygon__concept_8hpp.html">ggl/core/concepts/polygon_concept.hpp</a>&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="ring__concept_8hpp.html">ggl/core/concepts/ring_concept.hpp</a>&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00061"></a>00061 <span class="keyword">namespace </span>ggl
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a> {
+<a name="l00066"></a>00066
+<a name="l00068"></a>00068 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> S, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00069"></a>00069 <span class="keyword">struct </span>envelope_nsphere
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(S <span class="keyword">const</span>&amp; s, B&amp; mbr, Strategy <span class="keyword">const</span>&amp;)
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 assert_dimension&lt;S, 2&gt;();
+<a name="l00074"></a>00074 assert_dimension&lt;B, 2&gt;();
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">typename</span> radius_type&lt;S&gt;::type r = get_radius&lt;0&gt;(s);
+<a name="l00077"></a>00077 set&lt;min_corner, 0&gt;(mbr, get&lt;0&gt;(s) - r);
+<a name="l00078"></a>00078 set&lt;min_corner, 1&gt;(mbr, get&lt;1&gt;(s) - r);
+<a name="l00079"></a>00079 set&lt;max_corner, 0&gt;(mbr, get&lt;0&gt;(s) + r);
+<a name="l00080"></a>00080 set&lt;max_corner, 1&gt;(mbr, get&lt;1&gt;(s) + r);
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082 };
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084
+<a name="l00086"></a>00086 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00087"></a>00087 <span class="keyword">struct </span>envelope_point
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P <span class="keyword">const</span>&amp; p, B&amp; mbr, Strategy <span class="keyword">const</span>&amp;)
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="comment">// Envelope of a point is an empty box, a box with zero volume, located at the point.</span>
+<a name="l00092"></a>00092 <span class="comment">// We just use the convert algorithm here</span>
+<a name="l00093"></a>00093 <a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">ggl::convert</a>(p, mbr);
+<a name="l00094"></a>00094 }
+<a name="l00095"></a>00095 };
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097
+<a name="l00099"></a>00099 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00100"></a>00100 <span class="keyword">struct </span>envelope_segment
+<a name="l00101"></a>00101 {
+<a name="l00102"></a>00102 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(S <span class="keyword">const</span>&amp; s, B&amp; mbr, Strategy <span class="keyword">const</span>&amp;)
+<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="l00110"></a>00110
+<a name="l00112"></a>00112 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00113"></a>00113 <span class="keyword">inline</span> <span class="keywordtype">void</span> envelope_range_state(R <span class="keyword">const</span>&amp; range, Strategy <span class="keyword">const</span>&amp; strategy, <span class="keyword">typename</span> Strategy::state_type&amp; 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&lt;R&gt;::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="l00123"></a>00123
+<a name="l00124"></a>00124
+<a name="l00126"></a>00126 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy&gt;
+<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>&amp; range, B&amp; mbr, Strategy <span class="keyword">const</span>&amp; 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 &lt;
+<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 &gt;
+<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="l00152"></a>00152
+<a name="l00153"></a>00153 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy&gt;
+<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>&lt;point_tag, box_tag, P, B, Strategy&gt;
+<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&lt;P, B, Strategy&gt;
+<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&lt;P&gt;) );
+<a name="l00159"></a>00159 BOOST_CONCEPT_ASSERT( (concept::Box&lt;B&gt;) );
+<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> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy&gt;
+<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>&lt;box_tag, box_tag, B, B, Strategy&gt;
+<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>&amp; b, B&amp; mbr, Strategy <span class="keyword">const</span>&amp;)
+<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&lt;B&gt;) );
+<a name="l00178"></a>00178 };
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy&gt;
+<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>&lt;segment_tag, box_tag, S, B, Strategy&gt;
+<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&lt;S, B, Strategy&gt;
+<a name="l00184"></a>00184 {};
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy&gt;
+<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>&lt;nsphere_tag, box_tag, S, B, Strategy&gt;
+<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&lt;S, B, Strategy&gt;
+<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&lt;S&gt;) );
+<a name="l00193"></a>00193 BOOST_CONCEPT_ASSERT( (concept::Box&lt;B&gt;) );
+<a name="l00194"></a>00194 };
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> L, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy&gt;
+<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>&lt;linestring_tag, box_tag, L, B, Strategy&gt;
+<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&lt;L, B, Strategy&gt;
+<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&lt;L&gt;) );
+<a name="l00202"></a>00202 BOOST_CONCEPT_ASSERT( (concept::Box&lt;B&gt;) );
+<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> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy&gt;
+<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>&lt;ring_tag, box_tag, R, B, Strategy&gt;
+<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&lt;R, B, Strategy&gt;
+<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&lt;R&gt;) );
+<a name="l00212"></a>00212 BOOST_CONCEPT_ASSERT( (concept::Box&lt;B&gt;) );
+<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> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy&gt;
+<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>&lt;polygon_tag, box_tag, P, B, Strategy&gt;
+<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>&amp; poly, B&amp; mbr, Strategy <span class="keyword">const</span>&amp; 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 &lt;
+<a name="l00225"></a>00225 <span class="keyword">typename</span> ring_type&lt;P&gt;::type,
+<a name="l00226"></a>00226 B,
+<a name="l00227"></a>00227 Strategy
+<a name="l00228"></a>00228 &gt;::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&lt;P&gt;) );
+<a name="l00233"></a>00233 BOOST_CONCEPT_ASSERT( (concept::Box&lt;B&gt;) );
+<a name="l00234"></a>00234 };
+<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>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> B, <span class="keyword">typename</span> S&gt;
+<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>&amp; geometry, B&amp; mbr, S <span class="keyword">const</span>&amp; 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 &lt;
+<a name="l00253"></a>00253 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;B&gt;::type</a>,
+<a name="l00254"></a>00254 G, B, S
+<a name="l00255"></a>00255 &gt;::apply(geometry, mbr, strategy);
+<a name="l00256"></a>00256 }
+<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>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> B&gt;
+<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>&amp; geometry, B&amp; 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 &lt;
+<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&lt;typename point_type&lt;G&gt;::type</a>&gt;::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&lt;typename point_type&lt;B&gt;::type</a>&gt;::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&lt;G&gt;::type</a>,
+<a name="l00281"></a>00281 B
+<a name="l00282"></a>00282 &gt;::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="l00287"></a>00287
+<a name="l00294"></a>00294 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
+<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>&amp; geometry, S <span class="keyword">const</span>&amp; 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 &lt;
+<a name="l00300"></a>00300 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;B&gt;::type</a>,
+<a name="l00301"></a>00301 G, B, S
+<a name="l00302"></a>00302 &gt;::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="l00307"></a>00307
+<a name="l00313"></a>00313 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> G&gt;
+<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>&amp; 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 &lt;
+<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&lt;typename point_type&lt;G&gt;::type</a>&gt;::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&lt;typename point_type&lt;B&gt;::type</a>&gt;::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&lt;G&gt;::type</a>,
+<a name="l00321"></a>00321 B
+<a name="l00322"></a>00322 &gt;::type strategy;
+<a name="l00323"></a>00323 <span class="keywordflow">return</span> make_envelope&lt;B&gt;(geometry, strategy);
+<a name="l00324"></a>00324 }
+<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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/get_section.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 &nbsp;</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&lt;typename Geometry , typename Section &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__sectionalize.html#g5c0732d32eb6c6154f615b3a3337f4b9">ggl::get_section</a> (Geometry const &amp;geometry, Section const &amp;section, typename point_const_iterator&lt; Geometry &gt;::type &amp;begin, typename point_const_iterator&lt; Geometry &gt;::type &amp;end)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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">
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,155 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/get_section.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_ALGORITHMS_GET_SECTION_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_GET_SECTION_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="iterators_2point__const__iterator_8hpp.html">ggl/iterators/point_const_iterator.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Section&gt;
+<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="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&lt;Geometry&gt;::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>&amp; geometry, Section <span class="keyword">const</span>&amp; section,
+<a name="l00042"></a>00042 iterator_type&amp; begin, iterator_type&amp; end)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 begin = boost::begin(geometry) + section.begin_index;
+<a name="l00045"></a>00045 end = boost::begin(geometry) + section.end_index + 1;
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047 };
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Section&gt;
+<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>&lt;polygon_tag, Polygon, Section&gt;
+<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&lt;Polygon&gt;::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>&amp; polygon, Section <span class="keyword">const</span>&amp; section,
+<a name="l00054"></a>00054 iterator_type&amp; begin, iterator_type&amp; end)
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type&lt;Polygon&gt;::type</a> ring_type;
+<a name="l00057"></a>00057 ring_type <span class="keyword">const</span>&amp; ring = section.ring_index &lt; 0
+<a name="l00058"></a>00058 ? <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon)
+<a name="l00059"></a>00059 : ggl::<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[section.ring_index];
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 begin = boost::begin(ring) + section.begin_index;
+<a name="l00062"></a>00062 end = boost::begin(ring) + section.end_index + 1;
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064 };
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 } <span class="comment">// namespace dispatch</span>
+<a name="l00067"></a>00067 <span class="preprocessor">#endif</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span>
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071
+<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Section&gt;
+<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>&amp; geometry, Section <span class="keyword">const</span>&amp; <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&lt;Geometry&gt;::type</a>&amp; 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&lt;Geometry&gt;::type</a>&amp; 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="l00090"></a>00090 &lt;
+<a name="l00091"></a>00091 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00092"></a>00092 Geometry,
+<a name="l00093"></a>00093 Section
+<a name="l00094"></a>00094 &gt;::apply(geometry, section, begin, end);
+<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
+<a name="l00100"></a>00100 } <span class="comment">// namespace ggl</span>
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="preprocessor">#endif // GGL_ALGORITHMS_GET_SECTION_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/intersection.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 &nbsp;</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&lt;typename GeometryOut , typename Geometry1 , typename Geometry2 , typename OutputIterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5">ggl::intersection</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, OutputIterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersects two geometries which each other. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,458 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/intersection.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_ALGORITHMS_INTERSECTION_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_INTERSECTION_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;deque&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="intersection__linestring_8hpp.html">ggl/algorithms/intersection_linestring.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="get__intersection__points_8hpp.html">ggl/algorithms/overlay/get_intersection_points.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="merge__intersection__points_8hpp.html">ggl/algorithms/overlay/merge_intersection_points.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="adapt__turns_8hpp.html">ggl/algorithms/overlay/adapt_turns.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="enrich__intersection__points_8hpp.html">ggl/algorithms/overlay/enrich_intersection_points.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="traverse_8hpp.html">ggl/algorithms/overlay/traverse.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00073"></a>00073 <span class="keyword">namespace </span>ggl
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keyword">template</span>
+<a name="l00082"></a>00082 &lt;
+<a name="l00083"></a>00083 <span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2,
+<a name="l00084"></a>00084 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00085"></a>00085 &gt;
+<a name="l00086"></a>00086 <span class="keyword">struct </span>intersection_polygon_polygon
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Polygon1 <span class="keyword">const</span>&amp; polygon1,
+<a name="l00089"></a>00089 Polygon2 <span class="keyword">const</span>&amp; polygon2, OutputIterator out)
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="keyword">typedef</span> detail::intersection::intersection_point
+<a name="l00092"></a>00092 &lt;
+<a name="l00093"></a>00093 <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&lt;GeometryOut&gt;::type</a>
+<a name="l00094"></a>00094 &gt; ip_type;
+<a name="l00095"></a>00095 <span class="keyword">typedef</span> std::deque&lt;ip_type&gt; ips_container;
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type&lt;GeometryOut&gt;::type</a> ring_type;
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 ips_container ips;
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keywordtype">bool</span> trivial = <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">ggl::get_intersection_points</a>(polygon1, polygon2, ips);
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="keywordflow">if</span> (ips.size() &lt;= 0)
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="comment">// If there are no IP-s, check if one point is in other polygon</span>
+<a name="l00106"></a>00106 <span class="comment">// assume both polygons having points</span>
+<a name="l00107"></a>00107 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon1).front(), polygon2))
+<a name="l00108"></a>00108 {
+<a name="l00109"></a>00109 <span class="comment">// Assume same type (output = input)</span>
+<a name="l00110"></a>00110 <span class="comment">// TODO: solve this (we go to specialize again...)</span>
+<a name="l00111"></a>00111 *out = polygon1;
+<a name="l00112"></a>00112 out++;
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon2).front(), polygon1))
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 *out = polygon2;
+<a name="l00117"></a>00117 out++;
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119 }
+<a name="l00120"></a>00120 <span class="keywordflow">else</span>
+<a name="l00121"></a>00121 {
+<a name="l00122"></a>00122 <span class="keywordflow">if</span> (! trivial)
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 <a class="code" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f" title="Merges intersection points such that points at the same location will be merged,...">ggl::merge_intersection_points</a>(ips);
+<a name="l00125"></a>00125 <a class="code" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">ggl::adapt_turns</a>(ips);
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 }
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <a class="code" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3" title="All intersection points are enriched with successor information.">ggl::enrich_intersection_points</a>(ips, trivial);
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 std::vector&lt;ring_type&gt; v;
+<a name="l00133"></a>00133 ggl::traverse&lt;ring_type&gt;
+<a name="l00134"></a>00134 (
+<a name="l00135"></a>00135 polygon1,
+<a name="l00136"></a>00136 polygon2,
+<a name="l00137"></a>00137 -1,
+<a name="l00138"></a>00138 ips,
+<a name="l00139"></a>00139 trivial,
+<a name="l00140"></a>00140 std::back_inserter(v)
+<a name="l00141"></a>00141 );
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="comment">// TODO:</span>
+<a name="l00145"></a>00145 <span class="comment">// assemble rings / inner rings / to polygons</span>
+<a name="l00146"></a>00146 <span class="keywordflow">for</span> (<span class="keyword">typename</span> std::vector&lt;ring_type&gt;::const_iterator it = v.begin();
+<a name="l00147"></a>00147 it != v.end(); ++it)
+<a name="l00148"></a>00148 {
+<a name="l00149"></a>00149 <span class="comment">// How can we avoid the double copy here! It is really bad!</span>
+<a name="l00150"></a>00150 <span class="comment">// We have to create a polygon, then copy it to the output iterator.</span>
+<a name="l00151"></a>00151 <span class="comment">// Having an output-vector would have been better: append it to the vector!</span>
+<a name="l00152"></a>00152 <span class="comment">// So output iterators are not that good.</span>
+<a name="l00153"></a>00153 GeometryOut poly;
+<a name="l00154"></a>00154 poly.outer() = *it;
+<a name="l00155"></a>00155 *out = poly;
+<a name="l00156"></a>00156 out++;
+<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 <span class="keywordflow">return</span> out;
+<a name="l00162"></a>00162 }
+<a name="l00163"></a>00163 };
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="keyword">template</span>
+<a name="l00169"></a>00169 &lt;
+<a name="l00170"></a>00170 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box,
+<a name="l00171"></a>00171 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00172"></a>00172 &gt;
+<a name="l00173"></a>00173 <span class="keyword">struct </span>intersection_polygon_box
+<a name="l00174"></a>00174 {
+<a name="l00175"></a>00175 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Polygon <span class="keyword">const</span>&amp; polygon,
+<a name="l00176"></a>00176 Box <span class="keyword">const</span>&amp; box, OutputIterator out)
+<a name="l00177"></a>00177 {
+<a name="l00178"></a>00178 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;GeometryOut&gt;::type</a> point_type;
+<a name="l00179"></a>00179 <span class="keyword">typedef</span> detail::intersection::intersection_point&lt;point_type&gt; ip_type;
+<a name="l00180"></a>00180 <span class="keyword">typedef</span> std::deque&lt;ip_type&gt; ips_container;
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type&lt;GeometryOut&gt;::type</a> ring_type;
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 ips_container ips;
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 <span class="keywordtype">bool</span> trivial = <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">ggl::get_intersection_points</a>(polygon, box, ips);
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 <span class="comment">// TODO: share this all with polygon_polygon using an "assemble" function!</span>
+<a name="l00189"></a>00189 <span class="comment">// It is only different in the 'within' calls, can be sorted out with specialization</span>
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="keywordflow">if</span> (ips.size() &lt;= 0)
+<a name="l00193"></a>00193 {
+<a name="l00194"></a>00194 <span class="comment">// If there are no IP-s, check if one point is in other polygon</span>
+<a name="l00195"></a>00195 <span class="comment">// assume both polygons having points</span>
+<a name="l00196"></a>00196 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon).front(), box))
+<a name="l00197"></a>00197 {
+<a name="l00198"></a>00198 <span class="comment">// Assume same type (output = input)</span>
+<a name="l00199"></a>00199 <span class="comment">// TODO: solve this (we go to specialize again...)</span>
+<a name="l00200"></a>00200 *out = polygon;
+<a name="l00201"></a>00201 out++;
+<a name="l00202"></a>00202 }
+<a name="l00203"></a>00203 <span class="keywordflow">else</span>
+<a name="l00204"></a>00204 {
+<a name="l00205"></a>00205 <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&lt;Box&gt;::type</a> p;
+<a name="l00206"></a>00206 ggl::set&lt;0&gt;(p, ggl::get&lt;min_corner, 0&gt;(box));
+<a name="l00207"></a>00207 ggl::set&lt;1&gt;(p, ggl::get&lt;min_corner, 1&gt;(box));
+<a name="l00208"></a>00208 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, polygon))
+<a name="l00209"></a>00209 {
+<a name="l00210"></a>00210 GeometryOut boxpoly;
+<a name="l00211"></a>00211 <a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">ggl::convert</a>(box, boxpoly);
+<a name="l00212"></a>00212 *out = boxpoly;
+<a name="l00213"></a>00213 out++;
+<a name="l00214"></a>00214 }
+<a name="l00215"></a>00215 }
+<a name="l00216"></a>00216 }
+<a name="l00217"></a>00217 <span class="keywordflow">else</span>
+<a name="l00218"></a>00218 {
+<a name="l00219"></a>00219 <span class="keywordflow">if</span> (trivial)
+<a name="l00220"></a>00220 {
+<a name="l00221"></a>00221 <a class="code" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f" title="Merges intersection points such that points at the same location will be merged,...">ggl::merge_intersection_points</a>(ips);
+<a name="l00222"></a>00222 }
+<a name="l00223"></a>00223
+<a name="l00224"></a>00224 <a class="code" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3" title="All intersection points are enriched with successor information.">ggl::enrich_intersection_points</a>(ips, trivial);
+<a name="l00225"></a>00225
+<a name="l00226"></a>00226 std::vector&lt;ring_type&gt; v;
+<a name="l00227"></a>00227 ggl::traverse&lt;ring_type&gt;
+<a name="l00228"></a>00228 (
+<a name="l00229"></a>00229 polygon,
+<a name="l00230"></a>00230 box,
+<a name="l00231"></a>00231 -1,
+<a name="l00232"></a>00232 ips,
+<a name="l00233"></a>00233 trivial,
+<a name="l00234"></a>00234 std::back_inserter(v)
+<a name="l00235"></a>00235 );
+<a name="l00236"></a>00236
+<a name="l00237"></a>00237 <span class="comment">// TODO:</span>
+<a name="l00238"></a>00238 <span class="comment">// assemble rings / inner rings / to polygons</span>
+<a name="l00239"></a>00239 <span class="keywordflow">for</span> (<span class="keyword">typename</span> std::vector&lt;ring_type&gt;::const_iterator it = v.begin();
+<a name="l00240"></a>00240 it != v.end(); ++it)
+<a name="l00241"></a>00241 {
+<a name="l00242"></a>00242 <span class="comment">// How can we avoid the double copy here! It is really bad!</span>
+<a name="l00243"></a>00243 <span class="comment">// We have to create a polygon, then copy it to the output iterator.</span>
+<a name="l00244"></a>00244 <span class="comment">// Having an output-vector would have been better: append it to the vector!</span>
+<a name="l00245"></a>00245 <span class="comment">// So output iterators are not that good.</span>
+<a name="l00246"></a>00246 GeometryOut poly;
+<a name="l00247"></a>00247 poly.outer() = *it;
+<a name="l00248"></a>00248 *out = poly;
+<a name="l00249"></a>00249 out++;
+<a name="l00250"></a>00250 }
+<a name="l00251"></a>00251 }
+<a name="l00252"></a>00252
+<a name="l00253"></a>00253
+<a name="l00254"></a>00254 <span class="keywordflow">return</span> out;
+<a name="l00255"></a>00255 }
+<a name="l00256"></a>00256 };
+<a name="l00257"></a>00257
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00260"></a>00260 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00261"></a>00261 <span class="preprocessor"></span>
+<a name="l00262"></a>00262
+<a name="l00263"></a>00263
+<a name="l00264"></a>00264
+<a name="l00265"></a>00265
+<a name="l00266"></a>00266 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00267"></a>00267 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00268"></a>00268 {
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270 <span class="keyword">template</span>
+<a name="l00271"></a>00271 &lt;
+<a name="l00272"></a>00272 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> Tag3,
+<a name="l00273"></a>00273 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00274"></a>00274 <span class="keyword">typename</span> OutputIterator,
+<a name="l00275"></a>00275 <span class="keyword">typename</span> GeometryOut
+<a name="l00276"></a>00276 &gt;
+<a name="l00277"></a>00277 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {};
+<a name="l00278"></a>00278
+<a name="l00279"></a>00279
+<a name="l00280"></a>00280 <span class="keyword">template</span>
+<a name="l00281"></a>00281 &lt;
+<a name="l00282"></a>00282 <span class="keyword">typename</span> Segment1, <span class="keyword">typename</span> Segment2,
+<a name="l00283"></a>00283 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00284"></a>00284 &gt;
+<a name="l00285"></a>00285 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00286"></a>00286 &lt;
+<a name="l00287"></a>00287 segment_tag, segment_tag, point_tag,
+<a name="l00288"></a>00288 Segment1, Segment2,
+<a name="l00289"></a>00289 OutputIterator, GeometryOut
+<a name="l00290"></a>00290 &gt;
+<a name="l00291"></a>00291 {
+<a name="l00292"></a>00292 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Segment1 <span class="keyword">const</span>&amp; segment1,
+<a name="l00293"></a>00293 Segment2 <span class="keyword">const</span>&amp; segment2, OutputIterator out)
+<a name="l00294"></a>00294 {
+<a name="l00295"></a>00295 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;GeometryOut&gt;::type point_type;
+<a name="l00296"></a>00296
+<a name="l00297"></a>00297 <span class="comment">// Get the intersection point (or two points)</span>
+<a name="l00298"></a>00298 segment_intersection_points&lt;point_type&gt; is
+<a name="l00299"></a>00299 = strategy::intersection::relate_cartesian_segments
+<a name="l00300"></a>00300 &lt;
+<a name="l00301"></a>00301 policies::relate::segments_intersection_points
+<a name="l00302"></a>00302 &lt;
+<a name="l00303"></a>00303 Segment1,
+<a name="l00304"></a>00304 Segment2,
+<a name="l00305"></a>00305 segment_intersection_points&lt;point_type&gt;
+<a name="l00306"></a>00306 &gt;
+<a name="l00307"></a>00307 &gt;::relate(segment1, segment2);
+<a name="l00308"></a>00308 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 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="l00312"></a>00312 *out = p;
+<a name="l00313"></a>00313 out++;
+<a name="l00314"></a>00314 }
+<a name="l00315"></a>00315 <span class="keywordflow">return</span> out;
+<a name="l00316"></a>00316 }
+<a name="l00317"></a>00317 };
+<a name="l00318"></a>00318
+<a name="l00319"></a>00319
+<a name="l00320"></a>00320 <span class="keyword">template</span>
+<a name="l00321"></a>00321 &lt;
+<a name="l00322"></a>00322 <span class="keyword">typename</span> Linestring, <span class="keyword">typename</span> Box,
+<a name="l00323"></a>00323 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00324"></a>00324 &gt;
+<a name="l00325"></a>00325 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00326"></a>00326 &lt;
+<a name="l00327"></a>00327 linestring_tag, box_tag, linestring_tag,
+<a name="l00328"></a>00328 Linestring, Box,
+<a name="l00329"></a>00329 OutputIterator, GeometryOut
+<a name="l00330"></a>00330 &gt;
+<a name="l00331"></a>00331 {
+<a name="l00332"></a>00332 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Linestring <span class="keyword">const</span>&amp; linestring,
+<a name="l00333"></a>00333 Box <span class="keyword">const</span>&amp; box, OutputIterator out)
+<a name="l00334"></a>00334 {
+<a name="l00335"></a>00335 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;GeometryOut&gt;::type point_type;
+<a name="l00336"></a>00336 strategy::intersection::liang_barsky&lt;Box, point_type&gt; strategy;
+<a name="l00337"></a>00337 <span class="keywordflow">return</span> detail::intersection::clip_linestring_with_box&lt;GeometryOut&gt;(box, linestring, out, strategy);
+<a name="l00338"></a>00338 }
+<a name="l00339"></a>00339 };
+<a name="l00340"></a>00340
+<a name="l00341"></a>00341
+<a name="l00342"></a>00342 <span class="keyword">template</span>
+<a name="l00343"></a>00343 &lt;
+<a name="l00344"></a>00344 <span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2,
+<a name="l00345"></a>00345 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00346"></a>00346 &gt;
+<a name="l00347"></a>00347 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00348"></a>00348 &lt;
+<a name="l00349"></a>00349 polygon_tag, polygon_tag, polygon_tag,
+<a name="l00350"></a>00350 Polygon1, Polygon2,
+<a name="l00351"></a>00351 OutputIterator, GeometryOut
+<a name="l00352"></a>00352 &gt;
+<a name="l00353"></a>00353 : detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_polygon_polygon
+<a name="l00354"></a>00354 &lt;Polygon1, Polygon2, OutputIterator, GeometryOut&gt;
+<a name="l00355"></a>00355 {};
+<a name="l00356"></a>00356
+<a name="l00357"></a>00357
+<a name="l00358"></a>00358
+<a name="l00359"></a>00359 <span class="keyword">template</span>
+<a name="l00360"></a>00360 &lt;
+<a name="l00361"></a>00361 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box,
+<a name="l00362"></a>00362 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00363"></a>00363 &gt;
+<a name="l00364"></a>00364 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00365"></a>00365 &lt;
+<a name="l00366"></a>00366 polygon_tag, box_tag, polygon_tag,
+<a name="l00367"></a>00367 Polygon, Box,
+<a name="l00368"></a>00368 OutputIterator, GeometryOut
+<a name="l00369"></a>00369 &gt;
+<a name="l00370"></a>00370 : detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_polygon_box
+<a name="l00371"></a>00371 &lt;Polygon, Box, OutputIterator, GeometryOut&gt;
+<a name="l00372"></a>00372 {};
+<a name="l00373"></a>00373
+<a name="l00374"></a>00374
+<a name="l00375"></a>00375
+<a name="l00376"></a>00376 <span class="keyword">template</span>
+<a name="l00377"></a>00377 &lt;
+<a name="l00378"></a>00378 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2, <span class="keyword">typename</span> GeometryTag3,
+<a name="l00379"></a>00379 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00380"></a>00380 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00381"></a>00381 &gt;
+<a name="l00382"></a>00382 <span class="keyword">struct </span>intersection_reversed
+<a name="l00383"></a>00383 {
+<a name="l00384"></a>00384 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(G1 <span class="keyword">const</span>&amp; g1, G2 <span class="keyword">const</span>&amp; g2, OutputIterator out)
+<a name="l00385"></a>00385 {
+<a name="l00386"></a>00386 <span class="keywordflow">return</span> <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00387"></a>00387 &lt;
+<a name="l00388"></a>00388 GeometryTag2, GeometryTag1, GeometryTag3,
+<a name="l00389"></a>00389 G2, G1,
+<a name="l00390"></a>00390 OutputIterator, GeometryOut
+<a name="l00391"></a>00391 &gt;::apply(g2, g1, out);
+<a name="l00392"></a>00392 }
+<a name="l00393"></a>00393 };
+<a name="l00394"></a>00394
+<a name="l00395"></a>00395
+<a name="l00396"></a>00396
+<a name="l00397"></a>00397 } <span class="comment">// namespace dispatch</span>
+<a name="l00398"></a>00398 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00399"></a>00399 <span class="preprocessor"></span>
+<a name="l00417"></a>00417 <span class="keyword">template</span>
+<a name="l00418"></a>00418 &lt;
+<a name="l00419"></a>00419 <span class="keyword">typename</span> GeometryOut,
+<a name="l00420"></a>00420 <span class="keyword">typename</span> Geometry1,
+<a name="l00421"></a>00421 <span class="keyword">typename</span> Geometry2,
+<a name="l00422"></a>00422 <span class="keyword">typename</span> OutputIterator
+<a name="l00423"></a>00423 &gt;
+<a name="l00424"></a><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5">00424</a> <span class="keyword">inline</span> OutputIterator <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00425"></a>00425 Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00426"></a>00426 OutputIterator out)
+<a name="l00427"></a>00427 {
+<a name="l00428"></a>00428
+<a name="l00429"></a>00429 <span class="keywordflow">return</span> boost::mpl::if_c
+<a name="l00430"></a>00430 &lt;
+<a name="l00431"></a>00431 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch&lt;Geometry1, Geometry2&gt;::type::value</a>,
+<a name="l00432"></a>00432 dispatch::intersection_reversed
+<a name="l00433"></a>00433 &lt;
+<a name="l00434"></a>00434 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry1&gt;::type</a>,
+<a name="l00435"></a>00435 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry2&gt;::type</a>,
+<a name="l00436"></a>00436 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;GeometryOut&gt;::type</a>,
+<a name="l00437"></a>00437 Geometry1,
+<a name="l00438"></a>00438 Geometry2,
+<a name="l00439"></a>00439 OutputIterator, GeometryOut
+<a name="l00440"></a>00440 &gt;,
+<a name="l00441"></a>00441 <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">dispatch::intersection</a>
+<a name="l00442"></a>00442 &lt;
+<a name="l00443"></a>00443 <span class="keyword">typename</span> tag&lt;Geometry1&gt;::type,
+<a name="l00444"></a>00444 <span class="keyword">typename</span> tag&lt;Geometry2&gt;::type,
+<a name="l00445"></a>00445 <span class="keyword">typename</span> tag&lt;GeometryOut&gt;::type,
+<a name="l00446"></a>00446 Geometry1,
+<a name="l00447"></a>00447 Geometry2,
+<a name="l00448"></a>00448 OutputIterator, GeometryOut
+<a name="l00449"></a>00449 &gt;
+<a name="l00450"></a>00450 &gt;::type::apply(geometry1, geometry2, out);
+<a name="l00451"></a>00451 }
+<a name="l00452"></a>00452
+<a name="l00453"></a>00453 } <span class="comment">// ggl</span>
+<a name="l00454"></a>00454
+<a name="l00455"></a>00455 <span class="preprocessor">#endif //GGL_ALGORITHMS_INTERSECTION_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/length.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 &nbsp;</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&lt;typename G , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#ge20f9cdc37ebded2be03934edb05c3dd">ggl::length</a> (G const &amp;geometry, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate length of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa">ggl::length</a> (const G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate length of a geometry. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,203 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/length.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_ALGORITHMS_LENGTH_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_LENGTH_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;iterator&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00039"></a>00039 <span class="keyword">namespace </span>ggl
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a> {
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Segment, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00047"></a>00047 <span class="keyword">struct </span>segment_length
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> apply(Segment <span class="keyword">const</span>&amp; segment, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 <span class="comment">// BSG 10 APR 2009</span>
+<a name="l00052"></a>00052 <span class="comment">// TODO: the segment concept has to be such that it is easy to return a point from it.</span>
+<a name="l00053"></a>00053 <span class="comment">// Now it only accesses per coordinate</span>
+<a name="l00054"></a>00054 <span class="keywordflow">return</span> strategy(segment.first, segment.second);
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056 };
+<a name="l00057"></a>00057
+<a name="l00062"></a>00062 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00063"></a>00063 <span class="keyword">struct </span>range_length
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> apply(Range <span class="keyword">const</span>&amp; range, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00066"></a>00066 {
+<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...">ggl::coordinate_type&lt;Range&gt;::type</a> coordinate_type;
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="comment">// Because result is square-rooted, for integer, the cast should</span>
+<a name="l00070"></a>00070 <span class="comment">// go to double and NOT to T</span>
+<a name="l00071"></a>00071 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00072"></a>00072 boost::mpl::if_c
+<a name="l00073"></a>00073 &lt;
+<a name="l00074"></a>00074 boost::is_integral&lt;coordinate_type&gt;::type::value,
+<a name="l00075"></a>00075 double,
+<a name="l00076"></a>00076 coordinate_type
+<a name="l00077"></a>00077 &gt;::type calculation_type;
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 calculation_type sum = 0.0;
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type iterator_type;
+<a name="l00082"></a>00082 iterator_type it = boost::begin(range);
+<a name="l00083"></a>00083 <span class="keywordflow">if</span> (it != boost::end(range))
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 iterator_type previous = it++;
+<a name="l00086"></a>00086 <span class="keywordflow">while</span>(it != boost::end(range))
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="comment">// Add point-point distance using the return type belonging to strategy</span>
+<a name="l00089"></a>00089 sum += strategy(*previous, *it);
+<a name="l00090"></a>00090 previous = it++;
+<a name="l00091"></a>00091 }
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keywordflow">return</span> sum;
+<a name="l00095"></a>00095 }
+<a name="l00096"></a>00096 };
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 }} <span class="comment">// namespace detail::length</span>
+<a name="l00099"></a>00099 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00100"></a>00100 <span class="preprocessor"></span>
+<a name="l00101"></a>00101 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
+<a name="l00107"></a>00107 <span class="keyword">struct </span><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a> : detail::calculate_null&lt;double, G, S&gt;
+<a name="l00108"></a>00108 {};
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
+<a name="l00112"></a>00112 <span class="keyword">struct </span><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>&lt;linestring_tag, G, S&gt;
+<a name="l00113"></a>00113 : detail::<a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>::range_length&lt;G, S&gt;
+<a name="l00114"></a>00114 {};
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="comment">// RING: length is currently 0.0 but it might be argued that it is the "perimeter"</span>
+<a name="l00118"></a>00118 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
+<a name="l00119"></a>00119 <span class="keyword">struct </span><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>&lt;segment_tag, G, S&gt; : detail::<a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>::segment_length&lt;G, S&gt;
+<a name="l00120"></a>00120 {};
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 } <span class="comment">// namespace dispatch</span>
+<a name="l00124"></a>00124 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00125"></a>00125 <span class="preprocessor"></span>
+<a name="l00138"></a>00138 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G&gt;
+<a name="l00139"></a><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa">00139</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>(<span class="keyword">const</span> G&amp; geometry)
+<a name="l00140"></a>00140 {
+<a name="l00141"></a>00141 <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&lt;G&gt;::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="l00142"></a>00142 <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&lt;point_type&gt;::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="l00143"></a>00143 <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="l00144"></a>00144 &lt;
+<a name="l00145"></a>00145 cs_tag,
+<a name="l00146"></a>00146 cs_tag,
+<a name="l00147"></a>00147 point_type,
+<a name="l00148"></a>00148 point_type
+<a name="l00149"></a>00149 &gt;::type strategy_type;
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <span class="keywordflow">return</span> <a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">dispatch::length</a>
+<a name="l00152"></a>00152 &lt;
+<a name="l00153"></a>00153 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00154"></a>00154 G,
+<a name="l00155"></a>00155 strategy_type
+<a name="l00156"></a>00156 &gt;::apply(geometry, strategy_type());
+<a name="l00157"></a>00157 }
+<a name="l00158"></a>00158
+<a name="l00173"></a>00173 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
+<a name="l00174"></a><a class="code" href="group__length.html#ge20f9cdc37ebded2be03934edb05c3dd">00174</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>(G <span class="keyword">const</span>&amp; geometry, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00175"></a>00175 {
+<a name="l00176"></a>00176 <span class="keywordflow">return</span> dispatch::length&lt;typename tag&lt;G&gt;::type, G, S&gt;::apply(geometry, strategy);
+<a name="l00177"></a>00177 }
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 } <span class="comment">// namespace ggl</span>
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="preprocessor">#endif // GGL_ALGORITHMS_LENGTH_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/num_points.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 &nbsp;</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&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8d58faff2722b073b44c24f19577e267">ggl::num_points</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get number of points <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,202 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/algorithms/num_points.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_ALGORITHMS_NUM_POINTS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_NUM_POINTS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="is__linear_8hpp.html">ggl/core/is_linear.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a> {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range&gt;
+<a name="l00029"></a>00029 <span class="keyword">struct </span>range_count
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Range <span class="keyword">const</span>&amp; range)
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keywordflow">return</span> boost::size(range);
+<a name="l00034"></a>00034 }
+<a name="l00035"></a>00035 };
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00038"></a>00038 <span class="keyword">struct </span>other_count
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> D;
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044 };
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00047"></a>00047 <span class="keyword">struct </span>polygon_count
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Polygon <span class="keyword">const</span>&amp; poly)
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 std::size_t n = boost::size(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly));
+<a name="l00052"></a>00052 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00053"></a>00053 &lt;
+<a name="l00054"></a>00054 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00055"></a>00055 &gt;::type iterator;
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keywordflow">for</span> (iterator it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00058"></a>00058 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00059"></a>00059 ++it)
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 n += boost::size(*it);
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keywordflow">return</span> n;
+<a name="l00065"></a>00065 }
+<a name="l00066"></a>00066 };
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 }} <span class="comment">// namespace detail::num_points</span>
+<a name="l00069"></a>00069 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00070"></a>00070 <span class="preprocessor"></span>
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00073"></a>00073 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keywordtype">bool</span> Linear, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00077"></a>00077 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00082"></a>00082 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;GeometryTag, true, Geometry&gt;
+<a name="l00083"></a>00083 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::range_count&lt;Geometry&gt;
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 };
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00088"></a>00088 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;point_tag, false, Geometry&gt;
+<a name="l00089"></a>00089 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::other_count&lt;Geometry, 1&gt;
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 };
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00094"></a>00094 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;box_tag, false, Geometry&gt;
+<a name="l00095"></a>00095 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::other_count&lt;Geometry, 4&gt;
+<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> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00100"></a>00100 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;segment_tag, false, Geometry&gt;
+<a name="l00101"></a>00101 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::other_count&lt;Geometry, 2&gt;
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 };
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00106"></a>00106 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;nsphere_tag, false, Geometry&gt;
+<a name="l00107"></a>00107 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::other_count&lt;Geometry, 1&gt;
+<a name="l00108"></a>00108 {
+<a name="l00109"></a>00109 };
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00112"></a>00112 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;polygon_tag, false, Geometry&gt;
+<a name="l00113"></a>00113 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::polygon_count&lt;Geometry&gt;
+<a name="l00114"></a>00114 {
+<a name="l00115"></a>00115 };
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 } <span class="comment">// namespace dispatch</span>
+<a name="l00118"></a>00118 <span class="preprocessor">#endif</span>
+<a name="l00119"></a>00119 <span class="preprocessor"></span>
+<a name="l00120"></a>00120
+<a name="l00131"></a>00131 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00132"></a><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267">00132</a> <span class="keyword">inline</span> std::size_t <a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>(Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00133"></a>00133 {
+<a name="l00134"></a>00134 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type ncg_type;
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">dispatch::num_points</a>
+<a name="l00137"></a>00137 &lt;
+<a name="l00138"></a>00138 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00139"></a>00139 <a class="code" href="structggl_1_1is__linear.html" title="Meta-function defining &amp;quot;true&amp;quot; for linear types (linestring,ring), &amp;quot;false&amp;quot;...">is_linear&lt;ncg_type&gt;::value</a>,
+<a name="l00140"></a>00140 ncg_type
+<a name="l00141"></a>00141 &gt;::apply(geometry);
+<a name="l00142"></a>00142 }
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="preprocessor">#endif // GGL_ALGORITHMS_NUM_POINTS_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/perimeter.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 &nbsp;</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&lt;typename Geometry , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g840995936a96075829b48a29a4a33b19">ggl::perimeter</a> (Geometry const &amp;geometry, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate perimeter of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba">ggl::perimeter</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate perimeter of a geometry. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,186 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/perimeter.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_ALGORITHMS_PERIMETER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_PERIMETER_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cmath&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;iterator&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2length_8hpp.html">ggl/algorithms/length.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<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="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a> {
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> S&gt;
+<a name="l00035"></a>00035 <span class="keyword">struct </span>range_perimeter : detail::<a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>::range_length&lt;R, S&gt;
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 };
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="comment">// might be merged with "range_area" with policy to sum/subtract interior rings</span>
+<a name="l00040"></a>00040 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> S&gt;
+<a name="l00041"></a>00041 <span class="keyword">struct </span>polygon_perimeter
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> apply(Polygon <span class="keyword">const</span>&amp; poly, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type ring_type;
+<a name="l00046"></a>00046 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00047"></a>00047 &lt;
+<a name="l00048"></a>00048 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00049"></a>00049 &gt;::type iterator_type;
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keywordtype">double</span> sum = std::abs(range_perimeter&lt;ring_type, S&gt;::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="l00052"></a>00052
+<a name="l00053"></a>00053 <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="l00054"></a>00054 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="l00055"></a>00055 {
+<a name="l00056"></a>00056 sum += std::abs(range_perimeter&lt;ring_type, S&gt;::apply(*it, strategy));
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058 <span class="keywordflow">return</span> sum;
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060 };
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 }} <span class="comment">// namespace detail:;perimeter</span>
+<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="l00066"></a>00066 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="comment">// Default perimeter is 0.0, specializations implement calculated values</span>
+<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00072"></a>00072 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a> : detail::calculate_null&lt;double, Geometry, Strategy&gt;
+<a name="l00073"></a>00073 {};
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00076"></a>00076 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>&lt;ring_tag, Geometry, Strategy&gt;
+<a name="l00077"></a>00077 : detail::<a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>::range_perimeter&lt;Geometry, Strategy&gt;
+<a name="l00078"></a>00078 {};
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00081"></a>00081 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>&lt;polygon_tag, Geometry, Strategy&gt;
+<a name="l00082"></a>00082 : detail::<a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>::polygon_perimeter&lt;Geometry, Strategy&gt;
+<a name="l00083"></a>00083 {};
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="comment">// box,n-sphere: to be implemented</span>
+<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 // DOXYGEN_NO_DISPATCH</span>
+<a name="l00090"></a>00090 <span class="preprocessor"></span>
+<a name="l00091"></a>00091
+<a name="l00099"></a>00099 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00100"></a><a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba">00100</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>(Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00101"></a>00101 {
+<a name="l00102"></a>00102 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;Geometry&gt;::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="l00103"></a>00103 <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&lt;point_type&gt;::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="l00104"></a>00104 <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="l00105"></a>00105 &lt;
+<a name="l00106"></a>00106 cs_tag,
+<a name="l00107"></a>00107 cs_tag,
+<a name="l00108"></a>00108 point_type,
+<a name="l00109"></a>00109 point_type
+<a name="l00110"></a>00110 &gt;::type strategy_type;
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="keywordflow">return</span> <a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">dispatch::perimeter</a>
+<a name="l00113"></a>00113 &lt;
+<a name="l00114"></a>00114 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00115"></a>00115 Geometry,
+<a name="l00116"></a>00116 strategy_type
+<a name="l00117"></a>00117 &gt;::apply(geometry, strategy_type());
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119
+<a name="l00128"></a>00128 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00129"></a><a class="code" href="group__perimeter.html#g840995936a96075829b48a29a4a33b19">00129</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>(Geometry <span class="keyword">const</span>&amp; geometry, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00130"></a>00130 {
+<a name="l00131"></a>00131 <span class="keywordflow">return</span> <a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">dispatch::perimeter</a>
+<a name="l00132"></a>00132 &lt;
+<a name="l00133"></a>00133 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00134"></a>00134 Geometry,
+<a name="l00135"></a>00135 Strategy
+<a name="l00136"></a>00136 &gt;::apply(geometry, strategy);
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 } <span class="comment">// namespace ggl</span>
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 <span class="preprocessor">#endif // GGL_ALGORITHMS_PERIMETER_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/sectionalize.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure containing <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a> information. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1sections.html">ggl::sections&lt; Box, DimensionCount &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&lt;typename Geometry , typename Sections &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1">ggl::sectionalize</a> (Geometry const &amp;geometry, Sections &amp;sections)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Split a geometry into monotonic <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>. <br></td></tr>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,607 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/sectionalize.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_ALGORITHMS_SECTIONALIZE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_SECTIONALIZE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="combine_8hpp.html">ggl/algorithms/combine.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="iterators_2point__const__iterator_8hpp.html">ggl/iterators/point_const_iterator.hpp</a>&gt;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="assign__box__corner_8hpp.html">ggl/util/assign_box_corner.hpp</a>&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</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> &lt;<span class="keyword">typename</span> Box, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<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 &lt; 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> &lt;<span class="keyword">typename</span> Box, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<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&lt;section&lt;Box, DimensionCount&gt; &gt;
+<a name="l00104"></a>00104 {
+<a name="l00105"></a><a class="code" href="structggl_1_1sections.html#9ad75a29e07d632e85847e4f206715ba">00105</a> <span class="keyword">typedef</span> Box <a class="code" href="structggl_1_1sections.html#9ad75a29e07d632e85847e4f206715ba">box_type</a>;
+<a name="l00106"></a><a class="code" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">00106</a> <span class="keyword">static</span> <span class="keyword">const</span> std::size_t <a class="code" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">value</a> = DimensionCount;
+<a name="l00107"></a>00107 };
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="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> &lt;<span class="keyword">typename</span> Segment, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<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&lt;Segment&gt;::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>&amp; 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&lt;1, Dimension&gt;(seg) - ggl::get&lt;0, Dimension&gt;(seg);
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 directions[Dimension] = diff &gt; 0 ? 1 : (diff &lt; 0 ? -1 : 0);
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 get_direction_loop
+<a name="l00127"></a>00127 &lt;
+<a name="l00128"></a>00128 Segment, Dimension + 1, DimensionCount
+<a name="l00129"></a>00129 &gt;::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> &lt;<span class="keyword">typename</span> Segment, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00134"></a>00134 <span class="keyword">struct </span>get_direction_loop&lt;Segment, DimensionCount, DimensionCount&gt;
+<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>&amp; 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> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<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&lt;T, Dimension + 1, DimensionCount&gt;::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> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00156"></a>00156 <span class="keyword">struct </span>copy_loop&lt;T, DimensionCount, DimensionCount&gt;
+<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> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<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 &lt;
+<a name="l00178"></a>00178 T, Dimension + 1, DimensionCount
+<a name="l00179"></a>00179 &gt;::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> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00184"></a>00184 <span class="keyword">struct </span>compare_loop&lt;T, DimensionCount, DimensionCount&gt;
+<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> &lt;<span class="keyword">typename</span> Segment, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<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&lt;Segment&gt;::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>&amp; 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&lt;1, Dimension&gt;(seg) - ggl::get&lt;0, Dimension&gt;(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 &lt;
+<a name="l00214"></a>00214 Segment, Dimension + 1, DimensionCount
+<a name="l00215"></a>00215 &gt;::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> &lt;<span class="keyword">typename</span> Segment, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00220"></a>00220 <span class="keyword">struct </span>check_duplicate_loop&lt;Segment, DimensionCount, DimensionCount&gt;
+<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>&amp;)
+<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> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<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&lt;T, Dimension + 1, DimensionCount&gt;::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> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00239"></a>00239 <span class="keyword">struct </span>assign_loop&lt;T, DimensionCount, DimensionCount&gt;
+<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 &lt;
+<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 &gt;
+<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>&amp; range, Sections&amp; <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&lt;const Point&gt;</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 ==&gt; no sections</span>
+<a name="l00273"></a>00273 <span class="keywordflow">return</span>;
+<a name="l00274"></a>00274 }
+<a name="l00275"></a>00275
+<a name="l00276"></a>00276 <span class="keywordtype">int</span> i = 0;
+<a name="l00277"></a>00277 <span class="keywordtype">int</span> ndi = 0; <span class="comment">// non duplicate index</span>
+<a name="l00278"></a>00278
+<a name="l00279"></a>00279 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Sections&gt;::type sections_range_type;
+<a name="l00280"></a>00280 sections_range_type <a class="code" href="structggl_1_1section.html" title="Structure containing section information.">section</a>;
+<a name="l00281"></a>00281
+<a name="l00282"></a>00282 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::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 &lt;
+<a name="l00294"></a>00294 segment_type, 0, DimensionCount
+<a name="l00295"></a>00295 &gt;::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 &amp;&amp; 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 &lt; dimension&lt;P&gt;::value</span>
+<a name="l00307"></a>00307 <span class="keywordflow">if</span> (check_duplicate_loop
+<a name="l00308"></a>00308 &lt;
+<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&lt;Point&gt;::type::value</a>
+<a name="l00310"></a>00310 &gt;::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 &lt;
+<a name="l00321"></a>00321 int, 0, DimensionCount
+<a name="l00322"></a>00322 &gt;::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 &gt; 0
+<a name="l00327"></a>00327 &amp;&amp; (!compare_loop
+<a name="l00328"></a>00328 &lt;
+<a name="l00329"></a>00329 <span class="keywordtype">int</span>, 0, DimensionCount
+<a name="l00330"></a>00330 &gt;::apply(direction_classes, section.directions)
+<a name="l00331"></a>00331 || section.count &gt; 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 &lt;
+<a name="l00350"></a>00350 int, 0, DimensionCount
+<a name="l00351"></a>00351 &gt;::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 &gt; 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 &lt;
+<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 &gt;
+<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>&amp; poly, Sections&amp; <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&lt;Polygon&gt;::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&lt;Polygon&gt;::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 &lt;
+<a name="l00387"></a>00387 ring_type, point_type, Sections, DimensionCount, MaxCount
+<a name="l00388"></a>00388 &gt; 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 &lt;
+<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&lt;Polygon&gt;::type</a>
+<a name="l00393"></a>00393 &gt;::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 &lt;
+<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 &gt;
+<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>&amp; <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, Sections&amp; <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&lt;Box&gt;::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&lt;Box, 2&gt;();
+<a name="l00421"></a>00421
+<a name="l00422"></a>00422 <span class="comment">// Add all four sides of the 2D-box as separate section.</span>
+<a name="l00423"></a>00423 <span class="comment">// Easiest is to convert it to a polygon.</span>
+<a name="l00424"></a>00424 <span class="comment">// However, we don't have the polygon type</span>
+<a name="l00425"></a>00425 <span class="comment">// (or polygon would be a helper-type).</span>
+<a name="l00426"></a>00426 <span class="comment">// Therefore we mimic a linestring/std::vector of 5 points</span>
+<a name="l00427"></a>00427
+<a name="l00428"></a>00428 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&lt;point_type&gt; 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 &lt;
+<a name="l00440"></a>00440 std::vector&lt;point_type&gt;,
+<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 &gt;::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 &lt;
+<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 &gt;
+<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 &lt;
+<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 &gt;
+<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>&lt;box_tag, Box, Sections, DimensionCount, MaxCount&gt;
+<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 &lt;
+<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 &gt;
+<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 &lt;
+<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 &gt;
+<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 &lt;
+<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 &gt;
+<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 &lt;
+<a name="l00502"></a>00502 LineString,
+<a name="l00503"></a>00503 typename point_type&lt;LineString&gt;::type,
+<a name="l00504"></a>00504 Sections,
+<a name="l00505"></a>00505 DimensionCount,
+<a name="l00506"></a>00506 MaxCount
+<a name="l00507"></a>00507 &gt;
+<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 &lt;
+<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 &gt;
+<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>&lt;ring_tag, Range, Sections, DimensionCount, MaxCount&gt;
+<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 &lt;
+<a name="l00520"></a>00520 Range,
+<a name="l00521"></a>00521 typename point_type&lt;Range&gt;::type,
+<a name="l00522"></a>00522 Sections,
+<a name="l00523"></a>00523 DimensionCount,
+<a name="l00524"></a>00524 MaxCount
+<a name="l00525"></a>00525 &gt;
+<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 &lt;
+<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 &gt;
+<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>&lt;polygon_tag, Polygon, Sections, DimensionCount, MaxCount&gt;
+<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 &lt;
+<a name="l00538"></a>00538 Polygon, Sections, DimensionCount, MaxCount
+<a name="l00539"></a>00539 &gt;
+<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>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Sections&gt;
+<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>&amp; geometry, Sections&amp; <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 &lt;
+<a name="l00562"></a>00562 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::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 &gt; 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="l00572"></a>00572
+<a name="l00573"></a>00573
+<a name="l00574"></a>00574
+<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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,92 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/simplify.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 &nbsp;</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&lt;typename G , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g00b5a49a676c29d790764ad67e9fdfbc">ggl::simplify</a> (const G &amp;geometry, G &amp;out, double max_distance, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g44130eb01685933927c05207a01a84f1">ggl::simplify</a> (const G &amp;geometry, G &amp;out, double max_distance)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename O , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#gfac2ab8188c31cf7fab43e423884e0ed">ggl::simplify</a> (const G &amp;geometry, O out, double max_distance, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename O &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb">ggl::simplify</a> (const G &amp;geometry, O out, double max_distance)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,330 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/simplify.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_ALGORITHMS_SIMPLIFY_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_SIMPLIFY_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2distance_8hpp.html">ggl/algorithms/distance.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="agn__simplify_8hpp.html">ggl/strategies/agnostic/agn_simplify.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<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>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> S&gt;
+<a name="l00053"></a>00053 <span class="keyword">inline</span> <span class="keywordtype">void</span> simplify_range_strategy(R <span class="keyword">const</span>&amp; range, OutputIterator out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 <span class="keywordflow">if</span> (boost::begin(range) == boost::end(range) || max_distance &lt; 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&lt;R&gt;::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>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00074"></a>00074 <span class="keyword">inline</span> <span class="keywordtype">void</span> simplify_range(R <span class="keyword">const</span>&amp; 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&lt;R&gt;::type point_type;
+<a name="l00078"></a>00078 <span class="keyword">typedef</span> <span class="keyword">typename</span> cs_tag&lt;point_type&gt;::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 &lt;
+<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&lt;const point_type&gt;
+<a name="l00085"></a>00085 &gt;::type strategy_type;
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 strategy::simplify::douglas_peucker&lt;R, OutputIterator, strategy_type&gt; 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="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> S&gt;
+<a name="l00093"></a>00093 <span class="keyword">inline</span> <span class="keywordtype">void</span> simplify_ring(R <span class="keyword">const</span>&amp; r_in, OutputIterator out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>&amp; 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 &lt; 4(=wrong)</span>
+<a name="l00104"></a>00104 <span class="keywordflow">if</span> (boost::size(r_in) &lt;= 4 || max_distance &lt; 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>&lt;<span class="keyword">typename</span> Y, <span class="keyword">typename</span> S&gt;
+<a name="l00115"></a>00115 <span class="keyword">inline</span> <span class="keywordtype">void</span> simplify_polygon(Y <span class="keyword">const</span>&amp; poly_in, Y&amp; poly_out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>&amp; 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 &lt;<span class="keyword">typename</span> interior_type&lt;Y&gt;::type&gt;::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 &lt;<span class="keyword">typename</span> interior_type&lt;Y&gt;::type&gt;::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="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Y&gt;
+<a name="l00141"></a>00141 <span class="keyword">inline</span> <span class="keywordtype">void</span> simplify_polygon(Y <span class="keyword">const</span>&amp; poly_in, Y&amp; 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&lt;Y&gt;::type ring_type;
+<a name="l00145"></a>00145 <span class="keyword">typedef</span> std::back_insert_iterator&lt;ring_type&gt; iterator_type;
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Y&gt;::type point_type;
+<a name="l00148"></a>00148 <span class="keyword">typedef</span> <span class="keyword">typename</span> cs_tag&lt;point_type&gt;::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 &lt;
+<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&lt;const point_type&gt;
+<a name="l00155"></a>00155 &gt;::type strategy_type;
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 strategy::simplify::douglas_peucker&lt;ring_type, iterator_type, strategy_type&gt; 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="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>
+<a name="l00164"></a>00164 <span class="preprocessor"></span>
+<a name="l00165"></a>00165
+<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
+<a name="l00170"></a>00170 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G&gt;
+<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="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> &lt;<span class="keyword">typename</span> R&gt;
+<a name="l00177"></a>00177 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a>&lt;linestring_tag, R&gt;
+<a name="l00178"></a>00178 {
+<a name="l00179"></a>00179 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> S&gt;
+<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>&amp; range, OutputIterator out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00181"></a>00181 {
+<a name="l00182"></a>00182 strategy.simplify(range, out, max_distance);
+<a name="l00183"></a>00183 }
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> OutputIterator&gt;
+<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>&amp; 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&lt;R&gt;::type point_type;
+<a name="l00190"></a>00190 <span class="keyword">typedef</span> <span class="keyword">typename</span> cs_tag&lt;point_type&gt;::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 &lt;
+<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&lt;const point_type&gt;
+<a name="l00197"></a>00197 &gt;::type strategy_type;
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199 strategy::simplify::douglas_peucker&lt;R, OutputIterator, strategy_type&gt; 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> &lt;<span class="keyword">typename</span> R&gt;
+<a name="l00206"></a>00206 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a>&lt;ring_tag, R&gt;
+<a name="l00207"></a>00207 {
+<a name="l00209"></a>00209 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> S&gt;
+<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>&amp; ring_in, R&amp; ring_out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>&amp; 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="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>&amp; ring_in, R&amp; 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&lt;R&gt;::type point_type;
+<a name="l00221"></a>00221 <span class="keyword">typedef</span> <span class="keyword">typename</span> cs_tag&lt;point_type&gt;::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 &lt;
+<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&lt;const point_type&gt;
+<a name="l00228"></a>00228 &gt;::type strategy_type;
+<a name="l00229"></a>00229 <span class="keyword">typedef</span> std::back_insert_iterator&lt;R&gt; iterator_type;
+<a name="l00230"></a>00230
+<a name="l00231"></a>00231 strategy::simplify::douglas_peucker&lt;R, iterator_type, strategy_type&gt; 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> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00238"></a>00238 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a>&lt;polygon_tag, P&gt;
+<a name="l00239"></a>00239 {
+<a name="l00241"></a>00241 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> S&gt;
+<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>&amp; poly_in, P&amp; poly_out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>&amp; 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>&amp; poly_in, P&amp; 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>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> O&gt;
+<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&amp; 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&lt;typename tag&lt;G&gt;::type, G&gt; 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>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> O, <span class="keyword">typename</span> S&gt;
+<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&amp; geometry, O out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00300"></a>00300 {
+<a name="l00301"></a>00301 <span class="keyword">typedef</span> dispatch::simplify&lt;typename tag&lt;G&gt;::type, G&gt; simplify_type;
+<a name="l00302"></a>00302 simplify_type::apply(geometry, out, max_distance, strategy);
+<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>&lt;<span class="keyword">typename</span> G&gt;
+<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&amp; geometry, G&amp; 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&lt;typename tag&lt;G&gt;::type, G&gt; 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>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
+<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&amp; geometry, G&amp; out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00335"></a>00335 {
+<a name="l00336"></a>00336 <span class="keyword">typedef</span> dispatch::simplify&lt;typename tag&lt;G&gt;::type, G&gt; 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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/transform.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 &nbsp;</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&lt;typename G1 , typename G2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transform.html#g9ec9c2e79900a57ce292dc2026b7ead9">ggl::transform</a> (G1 const &amp;geometry1, G2 &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms from one geometry to another geometry using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500">ggl::transform</a> (G1 const &amp;geometry1, G2 &amp;geometry2, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms from one geometry to another geometry using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,301 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/transform.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_ALGORITHMS_TRANSFORM_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_TRANSFORM_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cmath&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;iterator&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="clear_8hpp.html">ggl/algorithms/clear.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00061"></a>00061 <span class="keyword">namespace </span>ggl
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a> {
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00068"></a>00068 <span class="keyword">struct </span>transform_point
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P1 <span class="keyword">const</span>&amp; p1, P2&amp; p2, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keywordflow">return</span> strategy(p1, p2);
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075 };
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2&gt;
+<a name="l00078"></a>00078 <span class="keyword">struct </span>transform_box
+<a name="l00079"></a>00079 {
+<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00081"></a>00081 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B1 <span class="keyword">const</span>&amp; b1, B2&amp; b2, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;B1&gt;::type point_type1;
+<a name="l00084"></a>00084 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;B2&gt;::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&lt;min_corner, min_corner&gt;(b1, lower_left);
+<a name="l00088"></a>00088 assign_box_corner&lt;max_corner, max_corner&gt;(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) &amp;&amp; strategy(upper_right, p2))
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="comment">// Create a valid box and therefore swap if necessary</span>
+<a name="l00094"></a>00094 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;point_type2&gt;::type coordinate_type;
+<a name="l00095"></a>00095 coordinate_type x1 = ggl::get&lt;0&gt;(p1)
+<a name="l00096"></a>00096 , y1 = ggl::get&lt;1&gt;(p1)
+<a name="l00097"></a>00097 , x2 = ggl::get&lt;0&gt;(p2)
+<a name="l00098"></a>00098 , y2 = ggl::get&lt;1&gt;(p2);
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keywordflow">if</span> (x1 &gt; x2) { std::swap(x1, x2); }
+<a name="l00101"></a>00101 <span class="keywordflow">if</span> (y1 &gt; y2) { std::swap(y1, y2); }
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 set&lt;min_corner, 0&gt;(b2, x1);
+<a name="l00104"></a>00104 set&lt;min_corner, 1&gt;(b2, y1);
+<a name="l00105"></a>00105 set&lt;max_corner, 0&gt;(b2, x2);
+<a name="l00106"></a>00106 set&lt;max_corner, 1&gt;(b2, y2);
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00109"></a>00109 }
+<a name="l00110"></a>00110 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112 };
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> R, <span class="keyword">typename</span> S&gt;
+<a name="l00115"></a>00115 <span class="keyword">inline</span> <span class="keywordtype">bool</span> transform_range_out(R <span class="keyword">const</span>&amp; range, OutputIterator out, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00116"></a>00116 {
+<a name="l00117"></a>00117 P point_out;
+<a name="l00118"></a>00118 <span class="keywordflow">for</span>(<span class="keyword">typename</span> boost::range_const_iterator&lt;R&gt;::type it = boost::begin(range);
+<a name="l00119"></a>00119 it != boost::end(range); ++it)
+<a name="l00120"></a>00120 {
+<a name="l00121"></a>00121 <span class="keywordflow">if</span> (! transform_point&lt;<span class="keyword">typename</span> point_type&lt;R&gt;::type, P&gt;::apply(*it, point_out, strategy))
+<a name="l00122"></a>00122 {
+<a name="l00123"></a>00123 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00124"></a>00124 }
+<a name="l00125"></a>00125 *out = point_out;
+<a name="l00126"></a>00126 ++out;
+<a name="l00127"></a>00127 }
+<a name="l00128"></a>00128 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00129"></a>00129 }
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00132"></a>00132 <span class="keyword">struct </span>transform_polygon
+<a name="l00133"></a>00133 {
+<a name="l00134"></a>00134 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00135"></a>00135 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> P1&amp; poly1, P2&amp; poly2, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00136"></a>00136 {
+<a name="l00137"></a>00137 <span class="keyword">typedef</span> <span class="keyword">typename</span> interior_type&lt;P1&gt;::type interior1_type;
+<a name="l00138"></a>00138 <span class="keyword">typedef</span> <span class="keyword">typename</span> interior_type&lt;P2&gt;::type interior2_type;
+<a name="l00139"></a>00139 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P1&gt;::type ring1_type;
+<a name="l00140"></a>00140 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P2&gt;::type ring2_type;
+<a name="l00141"></a>00141 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;P2&gt;::type point2_type;
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(poly2);
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="keywordflow">if</span> (!transform_range_out&lt;point2_type&gt;(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly1),
+<a name="l00146"></a>00146 std::back_inserter(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly2)), strategy))
+<a name="l00147"></a>00147 {
+<a name="l00148"></a>00148 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00149"></a>00149 }
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly2).resize(boost::size(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly1)));
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;interior1_type&gt;::type iterator1_type;
+<a name="l00154"></a>00154 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;interior2_type&gt;::type iterator2_type;
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 iterator1_type it1 = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly1));
+<a name="l00157"></a>00157 iterator2_type it2 = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly2));
+<a name="l00158"></a>00158 <span class="keywordflow">for</span> ( ; it1 != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly1)); ++it1, ++it2)
+<a name="l00159"></a>00159 {
+<a name="l00160"></a>00160 <span class="keywordflow">if</span> (!transform_range_out&lt;point2_type&gt;(*it1, std::back_inserter(*it2), strategy))
+<a name="l00161"></a>00161 {
+<a name="l00162"></a>00162 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00163"></a>00163 }
+<a name="l00164"></a>00164 }
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00167"></a>00167 }
+<a name="l00168"></a>00168 };
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00172"></a>00172 <span class="keyword">struct </span>select_strategy
+<a name="l00173"></a>00173 {
+<a name="l00174"></a>00174 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_transform
+<a name="l00175"></a>00175 &lt;
+<a name="l00176"></a>00176 <span class="keyword">typename</span> cs_tag&lt;P1&gt;::type,
+<a name="l00177"></a>00177 <span class="keyword">typename</span> cs_tag&lt;P2&gt;::type,
+<a name="l00178"></a>00178 <span class="keyword">typename</span> coordinate_system&lt;P1&gt;::type,
+<a name="l00179"></a>00179 <span class="keyword">typename</span> coordinate_system&lt;P2&gt;::type,
+<a name="l00180"></a>00180 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;P1&gt;::type::value</a>,
+<a name="l00181"></a>00181 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;P2&gt;::type::value</a>,
+<a name="l00182"></a>00182 <span class="keyword">typename</span> point_type&lt;P1&gt;::type,
+<a name="l00183"></a>00183 <span class="keyword">typename</span> point_type&lt;P2&gt;::type
+<a name="l00184"></a>00184 &gt;::type type;
+<a name="l00185"></a>00185 };
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R1, <span class="keyword">typename</span> R2&gt;
+<a name="l00188"></a>00188 <span class="keyword">struct </span>transform_range
+<a name="l00189"></a>00189 {
+<a name="l00190"></a>00190 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00191"></a>00191 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(R1 <span class="keyword">const</span>&amp; range1, R2&amp; range2, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00192"></a>00192 {
+<a name="l00193"></a>00193 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;R2&gt;::type point_type;
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(range2);
+<a name="l00196"></a>00196 <span class="keywordflow">return</span> transform_range_out&lt;point_type&gt;(range1, std::back_inserter(range2), strategy);
+<a name="l00197"></a>00197 }
+<a name="l00198"></a>00198 };
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200 }} <span class="comment">// namespace detail::transform</span>
+<a name="l00201"></a>00201 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00202"></a>00202 <span class="preprocessor"></span>
+<a name="l00203"></a>00203
+<a name="l00204"></a>00204 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00205"></a>00205 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00206"></a>00206 {
+<a name="l00207"></a>00207
+<a name="l00208"></a>00208 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2&gt;
+<a name="l00209"></a>00209 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a> {};
+<a name="l00210"></a>00210
+<a name="l00211"></a>00211 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00212"></a>00212 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>&lt;point_tag, point_tag, P1, P2&gt;
+<a name="l00213"></a>00213 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_point&lt;P1, P2&gt;
+<a name="l00214"></a>00214 {
+<a name="l00215"></a>00215 };
+<a name="l00216"></a>00216
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> L1, <span class="keyword">typename</span> L2&gt;
+<a name="l00219"></a>00219 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>&lt;linestring_tag, linestring_tag, L1, L2&gt;
+<a name="l00220"></a>00220 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_range&lt;L1, L2&gt;
+<a name="l00221"></a>00221 {
+<a name="l00222"></a>00222 };
+<a name="l00223"></a>00223
+<a name="l00224"></a>00224 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R1, <span class="keyword">typename</span> R2&gt;
+<a name="l00225"></a>00225 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>&lt;ring_tag, ring_tag, R1, R2&gt;
+<a name="l00226"></a>00226 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_range&lt;R1, R2&gt;
+<a name="l00227"></a>00227 {
+<a name="l00228"></a>00228 };
+<a name="l00229"></a>00229
+<a name="l00230"></a>00230 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00231"></a>00231 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>&lt;polygon_tag, polygon_tag, P1, P2&gt;
+<a name="l00232"></a>00232 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_polygon&lt;P1, P2&gt;
+<a name="l00233"></a>00233 {
+<a name="l00234"></a>00234 };
+<a name="l00235"></a>00235
+<a name="l00236"></a>00236 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2&gt;
+<a name="l00237"></a>00237 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>&lt;box_tag, box_tag, B1, B2&gt;
+<a name="l00238"></a>00238 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_box&lt;B1, B2&gt;
+<a name="l00239"></a>00239 {
+<a name="l00240"></a>00240 };
+<a name="l00241"></a>00241
+<a name="l00242"></a>00242
+<a name="l00243"></a>00243 } <span class="comment">// namespace dispatch</span>
+<a name="l00244"></a>00244 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00245"></a>00245 <span class="preprocessor"></span>
+<a name="l00246"></a>00246
+<a name="l00257"></a>00257 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2, <span class="keyword">typename</span> S&gt;
+<a name="l00258"></a><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500">00258</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(G1 <span class="keyword">const</span>&amp; geometry1, G2&amp; geometry2, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00259"></a>00259 {
+<a name="l00260"></a>00260 <span class="keyword">typedef</span> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">dispatch::transform</a>
+<a name="l00261"></a>00261 &lt;
+<a name="l00262"></a>00262 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G1&gt;::type</a>,
+<a name="l00263"></a>00263 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G2&gt;::type</a>,
+<a name="l00264"></a>00264 G1,
+<a name="l00265"></a>00265 G2
+<a name="l00266"></a>00266 &gt; transform_type;
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268 <span class="keywordflow">return</span> transform_type::apply(geometry1, geometry2, strategy);
+<a name="l00269"></a>00269 }
+<a name="l00270"></a>00270
+<a name="l00280"></a>00280 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2&gt;
+<a name="l00281"></a><a class="code" href="group__transform.html#g9ec9c2e79900a57ce292dc2026b7ead9">00281</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(G1 <span class="keyword">const</span>&amp; geometry1, G2&amp; geometry2)
+<a name="l00282"></a>00282 {
+<a name="l00283"></a>00283 <span class="keyword">typename</span> detail::transform::select_strategy&lt;G1, G2&gt;::type strategy;
+<a name="l00284"></a>00284 <span class="keywordflow">return</span> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(geometry1, geometry2, strategy);
+<a name="l00285"></a>00285 }
+<a name="l00286"></a>00286
+<a name="l00287"></a>00287 } <span class="comment">// namespace ggl</span>
+<a name="l00288"></a>00288
+<a name="l00289"></a>00289 <span class="preprocessor">#endif // GGL_ALGORITHMS_TRANSFORM_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/within.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&lt;typename G1 , typename G2 , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g3051574eadb5ef8ae92ef210665a7332">ggl::within</a> (G1 const &amp;geometry1, G2 const &amp;geometry2, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within check using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc">ggl::within</a> (G1 const &amp;geometry1, G2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within check. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,443 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/within.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_WITHIN_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_WITHIN_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2distance_8hpp.html">ggl/algorithms/distance.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="make_8hpp.html">ggl/algorithms/make.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="nsphere__concept_8hpp.html">ggl/core/concepts/nsphere_concept.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="loop_8hpp.html">ggl/util/loop.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="keyword">namespace </span>ggl
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a> {
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="comment">//-------------------------------------------------------------------------------------------------------</span>
+<a name="l00038"></a>00038 <span class="comment">// Implementation for boxes. Supports boxes in 2 or 3 dimensions, in Euclidian system</span>
+<a name="l00039"></a>00039 <span class="comment">// Todo: implement as strategy</span>
+<a name="l00040"></a>00040 <span class="comment">//-------------------------------------------------------------------------------------------------------</span>
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, <span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00042"></a>00042 <span class="keyword">struct </span>point_in_box
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keyword">static</span> <span class="keywordtype">bool</span> inside(P <span class="keyword">const</span>&amp; p, B <span class="keyword">const</span>&amp; b)
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 <span class="keywordflow">if</span> (get&lt;D&gt;(p) &lt;= get&lt;min_corner, D&gt;(b)
+<a name="l00047"></a>00047 || get&lt;D&gt;(p) &gt;= get&lt;max_corner, D&gt;(b))
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keywordflow">return</span> point_in_box&lt;P, B, D + 1, N&gt;::inside(p, b);
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054 };
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00057"></a>00057 <span class="keyword">struct </span>point_in_box&lt;P, B, N, N&gt;
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keyword">static</span> <span class="keywordtype">bool</span> inside(P <span class="keyword">const</span>&amp; p, B <span class="keyword">const</span>&amp; b)
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063 };
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="comment">//-------------------------------------------------------------------------------------------------------</span>
+<a name="l00066"></a>00066 <span class="comment">// Box-in-box, for 2/3 dimensions</span>
+<a name="l00067"></a>00067 <span class="comment">//-------------------------------------------------------------------------------------------------------</span>
+<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, <span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00069"></a>00069 <span class="keyword">struct </span>box_in_box
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> inside(B1 <span class="keyword">const</span>&amp; b1, B2 <span class="keyword">const</span>&amp; b2)
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keywordflow">if</span> (get&lt;min_corner, D&gt;(b1) &lt;= get&lt;min_corner, D&gt;(b2)
+<a name="l00074"></a>00074 || get&lt;max_corner, D&gt;(b1) &gt;= get&lt;max_corner, D&gt;(b2))
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="keywordflow">return</span> box_in_box&lt;B1, B2, D + 1, N&gt;::inside(b1, b2);
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081 };
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00084"></a>00084 <span class="keyword">struct </span>box_in_box&lt;B1, B2, N, N&gt;
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> inside(B1 <span class="keyword">const</span>&amp; b1, B2 <span class="keyword">const</span>&amp; b2)
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090 };
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="comment">//-------------------------------------------------------------------------------------------------------</span>
+<a name="l00094"></a>00094 <span class="comment">// Implementation for n-spheres. Supports circles or spheres, in 2 or 3 dimensions, in Euclidian system</span>
+<a name="l00095"></a>00095 <span class="comment">// Circle center might be of other point-type as geometry</span>
+<a name="l00096"></a>00096 <span class="comment">// Todo: implement as strategy</span>
+<a name="l00097"></a>00097 <span class="comment">//-------------------------------------------------------------------------------------------------------</span>
+<a name="l00098"></a>00098 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> C&gt;
+<a name="l00099"></a>00099 <span class="keyword">inline</span> <span class="keywordtype">bool</span> point_in_circle(P <span class="keyword">const</span>&amp; p, C <span class="keyword">const</span>&amp; c)
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 assert_dimension&lt;C, 2&gt;();
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;C&gt;::type point_type;
+<a name="l00104"></a>00104 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_distance
+<a name="l00105"></a>00105 &lt;
+<a name="l00106"></a>00106 <span class="keyword">typename</span> cs_tag&lt;P&gt;::type,
+<a name="l00107"></a>00107 <span class="keyword">typename</span> cs_tag&lt;point_type&gt;::type,
+<a name="l00108"></a>00108 P,
+<a name="l00109"></a>00109 point_type
+<a name="l00110"></a>00110 &gt;::type strategy_type;
+<a name="l00111"></a>00111 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_type::return_type return_type;
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 P <span class="keyword">const</span> center = ggl::make&lt;P&gt;(get&lt;0&gt;(c), get&lt;1&gt;(c));
+<a name="l00114"></a>00114 strategy_type <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>;
+<a name="l00115"></a>00115 return_type <span class="keyword">const</span> r = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(p, center);
+<a name="l00116"></a>00116 return_type <span class="keyword">const</span> rad = make_distance_result&lt;return_type&gt;(get_radius&lt;0&gt;(c));
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="keywordflow">return</span> r &lt; rad;
+<a name="l00119"></a>00119 }
+<a name="l00121"></a>00121 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> C&gt;
+<a name="l00122"></a>00122 <span class="keyword">inline</span> <span class="keywordtype">bool</span> point_in_circle(<span class="keyword">const</span> T&amp; c1, <span class="keyword">const</span> T&amp; c2, C <span class="keyword">const</span>&amp; c)
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;C&gt;::type point_type;
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 point_type p = ggl::make&lt;point_type&gt;(c1, c2);
+<a name="l00127"></a>00127 <span class="keywordflow">return</span> point_in_circle(p, c);
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C&gt;
+<a name="l00131"></a>00131 <span class="keyword">inline</span> <span class="keywordtype">bool</span> box_in_circle(B <span class="keyword">const</span>&amp; b, C <span class="keyword">const</span>&amp; c)
+<a name="l00132"></a>00132 {
+<a name="l00133"></a>00133 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;B&gt;::type point_type;
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="comment">// Currently only implemented for 2d geometries</span>
+<a name="l00136"></a>00136 assert_dimension&lt;point_type, 2&gt;();
+<a name="l00137"></a>00137 assert_dimension&lt;C, 2&gt;();
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="comment">// Box: all four points must lie within circle</span>
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 <span class="comment">// Check points lower-left and upper-right, then lower-right and upper-left</span>
+<a name="l00142"></a>00142 <span class="keywordflow">return</span> point_in_circle(get&lt;min_corner, 0&gt;(b), get&lt;min_corner, 1&gt;(b), c)
+<a name="l00143"></a>00143 &amp;&amp; point_in_circle(get&lt;max_corner, 0&gt;(b), get&lt;max_corner, 1&gt;(b), c)
+<a name="l00144"></a>00144 &amp;&amp; point_in_circle(get&lt;min_corner, 0&gt;(b), get&lt;max_corner, 1&gt;(b), c)
+<a name="l00145"></a>00145 &amp;&amp; point_in_circle(get&lt;max_corner, 0&gt;(b), get&lt;min_corner, 1&gt;(b), c);
+<a name="l00146"></a>00146 }
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="comment">// Generic "range-in-circle", true if all points within circle</span>
+<a name="l00149"></a>00149 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> C&gt;
+<a name="l00150"></a>00150 <span class="keyword">inline</span> <span class="keywordtype">bool</span> range_in_circle(R <span class="keyword">const</span>&amp; range, C <span class="keyword">const</span>&amp; c)
+<a name="l00151"></a>00151 {
+<a name="l00152"></a>00152 assert_dimension&lt;R, 2&gt;();
+<a name="l00153"></a>00153 assert_dimension&lt;C, 2&gt;();
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;R&gt;::type it = boost::begin(range);
+<a name="l00156"></a>00156 it != boost::end(range); ++it)
+<a name="l00157"></a>00157 {
+<a name="l00158"></a>00158 <span class="keywordflow">if</span> (! point_in_circle(*it, c))
+<a name="l00159"></a>00159 {
+<a name="l00160"></a>00160 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00161"></a>00161 }
+<a name="l00162"></a>00162 }
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00165"></a>00165 }
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Y, <span class="keyword">typename</span> C&gt;
+<a name="l00168"></a>00168 <span class="keyword">inline</span> <span class="keywordtype">bool</span> polygon_in_circle(Y <span class="keyword">const</span>&amp; poly, C <span class="keyword">const</span>&amp; c)
+<a name="l00169"></a>00169 {
+<a name="l00170"></a>00170 <span class="keywordflow">return</span> range_in_circle(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), c);
+<a name="l00171"></a>00171 }
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> R, <span class="keyword">typename</span> S&gt;
+<a name="l00174"></a>00174 <span class="keyword">inline</span> <span class="keywordtype">bool</span> point_in_ring(P <span class="keyword">const</span>&amp; p, R <span class="keyword">const</span>&amp; r, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00175"></a>00175 {
+<a name="l00176"></a>00176 <span class="keywordflow">if</span> (boost::size(r) &lt; 4)
+<a name="l00177"></a>00177 {
+<a name="l00178"></a>00178 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00179"></a>00179 }
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="keyword">typename</span> S::state_type state(p);
+<a name="l00182"></a>00182 <span class="keywordflow">if</span> (<a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(r, strategy, state))
+<a name="l00183"></a>00183 {
+<a name="l00184"></a>00184 <span class="keywordflow">return</span> state.within();
+<a name="l00185"></a>00185 }
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00188"></a>00188 }
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 <span class="comment">// Polygon: in exterior ring, and if so, not within interior ring(s)</span>
+<a name="l00191"></a>00191 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> Y, <span class="keyword">typename</span> S&gt;
+<a name="l00192"></a>00192 <span class="keyword">inline</span> <span class="keywordtype">bool</span> point_in_polygon(P <span class="keyword">const</span>&amp; p, Y <span class="keyword">const</span>&amp; poly, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00193"></a>00193 {
+<a name="l00194"></a>00194 <span class="keywordflow">if</span> (point_in_ring(p, <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), strategy))
+<a name="l00195"></a>00195 {
+<a name="l00196"></a>00196 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00197"></a>00197 &lt;<span class="keyword">typename</span> interior_type&lt;Y&gt;::type&gt;::type iterator_type;
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00200"></a>00200 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly)); ++it)
+<a name="l00201"></a>00201 {
+<a name="l00202"></a>00202 <span class="keywordflow">if</span> (point_in_ring(p, *it, strategy))
+<a name="l00203"></a>00203 {
+<a name="l00204"></a>00204 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00205"></a>00205 }
+<a name="l00206"></a>00206 }
+<a name="l00207"></a>00207 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00208"></a>00208 }
+<a name="l00209"></a>00209 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00210"></a>00210 }
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 }} <span class="comment">// namespace detail::within</span>
+<a name="l00213"></a>00213 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00214"></a>00214 <span class="preprocessor"></span>
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00217"></a>00217 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00218"></a>00218 {
+<a name="l00219"></a>00219
+<a name="l00220"></a>00220 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2&gt;
+<a name="l00221"></a>00221 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a> {};
+<a name="l00222"></a>00222
+<a name="l00223"></a>00223 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B&gt;
+<a name="l00224"></a>00224 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>&lt;point_tag, box_tag, P, B&gt;
+<a name="l00225"></a>00225 {
+<a name="l00226"></a>00226 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>&amp; p, B <span class="keyword">const</span>&amp; b)
+<a name="l00227"></a>00227 {
+<a name="l00228"></a>00228 assert_dimension_equal&lt;P, B&gt;();
+<a name="l00229"></a>00229
+<a name="l00230"></a>00230 <span class="keywordflow">return</span> detail::within::point_in_box
+<a name="l00231"></a>00231 &lt;
+<a name="l00232"></a>00232 P,
+<a name="l00233"></a>00233 B,
+<a name="l00234"></a>00234 0,
+<a name="l00235"></a>00235 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;P&gt;::type::value</a>
+<a name="l00236"></a>00236 &gt;::inside(p, b);
+<a name="l00237"></a>00237 }
+<a name="l00238"></a>00238 };
+<a name="l00239"></a>00239
+<a name="l00240"></a>00240 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2&gt;
+<a name="l00241"></a>00241 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>&lt;box_tag, box_tag, B1, B2&gt;
+<a name="l00242"></a>00242 {
+<a name="l00243"></a>00243 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B1 <span class="keyword">const</span>&amp; b1, B2 <span class="keyword">const</span>&amp; b2)
+<a name="l00244"></a>00244 {
+<a name="l00245"></a>00245 assert_dimension_equal&lt;B1, B2&gt;();
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247 <span class="keywordflow">return</span> detail::within::box_in_box
+<a name="l00248"></a>00248 &lt;
+<a name="l00249"></a>00249 B1,
+<a name="l00250"></a>00250 B2,
+<a name="l00251"></a>00251 0,
+<a name="l00252"></a>00252 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;B1&gt;::type::value</a>
+<a name="l00253"></a>00253 &gt;::inside(b1, b2);
+<a name="l00254"></a>00254 }
+<a name="l00255"></a>00255 };
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257
+<a name="l00258"></a>00258 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> C&gt;
+<a name="l00259"></a>00259 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>&lt;point_tag, nsphere_tag, P, C&gt;
+<a name="l00260"></a>00260 {
+<a name="l00261"></a>00261 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>&amp; p, C <span class="keyword">const</span>&amp; c)
+<a name="l00262"></a>00262 {
+<a name="l00263"></a>00263 <span class="keywordflow">return</span> detail::within::point_in_circle(p, c);
+<a name="l00264"></a>00264 }
+<a name="l00265"></a>00265 };
+<a name="l00266"></a>00266
+<a name="l00267"></a>00267 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C&gt;
+<a name="l00268"></a>00268 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>&lt;box_tag, nsphere_tag, B, C&gt;
+<a name="l00269"></a>00269 {
+<a name="l00270"></a>00270 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B <span class="keyword">const</span>&amp; b, C <span class="keyword">const</span>&amp; c)
+<a name="l00271"></a>00271 {
+<a name="l00272"></a>00272 <span class="keywordflow">return</span> detail::within::box_in_circle(b, c);
+<a name="l00273"></a>00273 }
+<a name="l00274"></a>00274 };
+<a name="l00275"></a>00275
+<a name="l00276"></a>00276 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> C&gt;
+<a name="l00277"></a>00277 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>&lt;linestring_tag, nsphere_tag, R, C&gt;
+<a name="l00278"></a>00278 {
+<a name="l00279"></a>00279 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(R <span class="keyword">const</span>&amp; ln, C <span class="keyword">const</span>&amp; c)
+<a name="l00280"></a>00280 {
+<a name="l00281"></a>00281 <span class="keywordflow">return</span> detail::within::range_in_circle(ln, c);
+<a name="l00282"></a>00282 }
+<a name="l00283"></a>00283 };
+<a name="l00284"></a>00284
+<a name="l00285"></a>00285 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> C&gt;
+<a name="l00286"></a>00286 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>&lt;ring_tag, nsphere_tag, R, C&gt;
+<a name="l00287"></a>00287 {
+<a name="l00288"></a>00288 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(R <span class="keyword">const</span>&amp; r, C <span class="keyword">const</span>&amp; c)
+<a name="l00289"></a>00289 {
+<a name="l00290"></a>00290 <span class="keywordflow">return</span> detail::within::range_in_circle(r, c);
+<a name="l00291"></a>00291 }
+<a name="l00292"></a>00292 };
+<a name="l00293"></a>00293
+<a name="l00294"></a>00294 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Y, <span class="keyword">typename</span> C&gt;
+<a name="l00295"></a>00295 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>&lt;polygon_tag, nsphere_tag, Y, C&gt;
+<a name="l00296"></a>00296 {
+<a name="l00297"></a>00297 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Y <span class="keyword">const</span>&amp; poly, C <span class="keyword">const</span>&amp; c)
+<a name="l00298"></a>00298 {
+<a name="l00299"></a>00299 <span class="keywordflow">return</span> detail::within::polygon_in_circle(poly, c);
+<a name="l00300"></a>00300 }
+<a name="l00301"></a>00301 };
+<a name="l00302"></a>00302
+<a name="l00303"></a>00303 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> R&gt;
+<a name="l00304"></a>00304 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>&lt;point_tag, ring_tag, P, R&gt;
+<a name="l00305"></a>00305 {
+<a name="l00306"></a>00306 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>&amp; p, R <span class="keyword">const</span>&amp; r)
+<a name="l00307"></a>00307 {
+<a name="l00308"></a>00308 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;R&gt;::type point_type;
+<a name="l00309"></a>00309 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_within
+<a name="l00310"></a>00310 &lt;
+<a name="l00311"></a>00311 <span class="keyword">typename</span> cs_tag&lt;P&gt;::type,
+<a name="l00312"></a>00312 <span class="keyword">typename</span> cs_tag&lt;point_type&gt;::type,
+<a name="l00313"></a>00313 P,
+<a name="l00314"></a>00314 point_type
+<a name="l00315"></a>00315 &gt;::type strategy_type;
+<a name="l00316"></a>00316
+<a name="l00317"></a>00317 <span class="keywordflow">return</span> detail::within::point_in_ring(p, r, strategy_type());
+<a name="l00318"></a>00318 }
+<a name="l00319"></a>00319 };
+<a name="l00320"></a>00320
+<a name="l00321"></a>00321 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> Y&gt;
+<a name="l00322"></a>00322 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>&lt;point_tag, polygon_tag, P, Y&gt;
+<a name="l00323"></a>00323 {
+<a name="l00324"></a>00324 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>&amp; point, Y <span class="keyword">const</span>&amp; poly)
+<a name="l00325"></a>00325 {
+<a name="l00326"></a>00326 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Y&gt;::type point_type;
+<a name="l00327"></a>00327 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_within
+<a name="l00328"></a>00328 &lt;
+<a name="l00329"></a>00329 <span class="keyword">typename</span> cs_tag&lt;P&gt;::type,
+<a name="l00330"></a>00330 <span class="keyword">typename</span> cs_tag&lt;point_type&gt;::type,
+<a name="l00331"></a>00331 P,
+<a name="l00332"></a>00332 point_type
+<a name="l00333"></a>00333 &gt;::type strategy_type;
+<a name="l00334"></a>00334
+<a name="l00335"></a>00335 <span class="keywordflow">return</span> detail::within::point_in_polygon(point, poly, strategy_type());
+<a name="l00336"></a>00336 }
+<a name="l00337"></a>00337
+<a name="l00338"></a>00338 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> S&gt;
+<a name="l00339"></a>00339 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>&amp; point, Y <span class="keyword">const</span>&amp; poly, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00340"></a>00340 {
+<a name="l00341"></a>00341 <span class="keywordflow">return</span> detail::within::point_in_polygon(point, poly, strategy);
+<a name="l00342"></a>00342 }
+<a name="l00343"></a>00343 };
+<a name="l00344"></a>00344
+<a name="l00345"></a>00345 } <span class="comment">// namespace dispatch</span>
+<a name="l00346"></a>00346 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00347"></a>00347 <span class="preprocessor"></span>
+<a name="l00348"></a>00348
+<a name="l00376"></a>00376 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2&gt;
+<a name="l00377"></a><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc">00377</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>(G1 <span class="keyword">const</span>&amp; geometry1, G2 <span class="keyword">const</span>&amp; geometry2)
+<a name="l00378"></a>00378 {
+<a name="l00379"></a>00379 <span class="keyword">typedef</span> <a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">dispatch::within</a>
+<a name="l00380"></a>00380 &lt;
+<a name="l00381"></a>00381 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G1&gt;::type</a>,
+<a name="l00382"></a>00382 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G2&gt;::type</a>,
+<a name="l00383"></a>00383 G1,
+<a name="l00384"></a>00384 G2
+<a name="l00385"></a>00385 &gt; within_type;
+<a name="l00386"></a>00386
+<a name="l00387"></a>00387 <span class="keywordflow">return</span> within_type::apply(geometry1, geometry2);
+<a name="l00388"></a>00388 }
+<a name="l00389"></a>00389
+<a name="l00398"></a>00398 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2, <span class="keyword">typename</span> S&gt;
+<a name="l00399"></a><a class="code" href="group__boolean__relations.html#g3051574eadb5ef8ae92ef210665a7332">00399</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>(G1 <span class="keyword">const</span>&amp; geometry1, G2 <span class="keyword">const</span>&amp; geometry2, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00400"></a>00400 {
+<a name="l00401"></a>00401 <span class="keyword">typedef</span> <a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">dispatch::within</a>
+<a name="l00402"></a>00402 &lt;
+<a name="l00403"></a>00403 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G1&gt;::type</a>,
+<a name="l00404"></a>00404 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G2&gt;::type</a>,
+<a name="l00405"></a>00405 G1,
+<a name="l00406"></a>00406 G2
+<a name="l00407"></a>00407 &gt; within_type;
+<a name="l00408"></a>00408
+<a name="l00409"></a>00409 <span class="keywordflow">return</span> within_type::apply(geometry1, geometry2, strategy);
+<a name="l00410"></a>00410 }
+<a name="l00411"></a>00411
+<a name="l00412"></a>00412 } <span class="comment">// namespace ggl</span>
+<a name="l00413"></a>00413
+<a name="l00414"></a>00414 <span class="preprocessor">#endif // GGL_ALGORITHMS_WITHIN_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/annotated.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/annotated.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,243 @@
+<!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">
+&nbsp;&nbsp;
+</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="current">Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="classcore__dispatch_1_1dimension.html">dimension</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1area__result.html">ggl::area_result&lt; Geometry &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1as__range__type.html">ggl::as_range_type&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function utility returning either type itself, or outer ring </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td><td class="indexvalue">Class <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>: defines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> made of two describing points </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1box__tag.html">ggl::box_tag</a></td><td class="indexvalue">Convenience 2D or 3D <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> (mbr) 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_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</a></td><td class="indexvalue">Encapsulate the results of distance calculation </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1cartesian__tag.html">ggl::cartesian_tag</a></td><td class="indexvalue">Tag indicating Cartesian coordinate system family (cartesian,epsg) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1centroid__exception.html">ggl::centroid_exception</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1circular__iterator.html">ggl::circular_iterator&lt; Iterator &gt;</a></td><td class="indexvalue">Iterator which goes circular through a range, starting at a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, ending at that <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box&lt; B &gt;</a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox&lt; B &gt;</a></td><td class="indexvalue">Checks <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring&lt; L &gt;</a></td><td class="indexvalue">Checks <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ggl::concept::ConstNsphere&lt; S &gt;</a></td><td class="indexvalue">Checks <a class="el" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint&lt; X &gt;</a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon&lt; P &gt;</a></td><td class="indexvalue">Checks <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing&lt; R &gt;</a></td><td class="indexvalue">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment&lt; S &gt;</a></td><td class="indexvalue">Checks <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring&lt; L &gt;</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&lt; S &gt;</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&lt; X &gt;</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_polygon.html">ggl::concept::Polygon&lt; P &gt;</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&lt; R &gt;</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&lt; S &gt;</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_1coordinate__system.html">ggl::coordinate_system&lt; G &gt;</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&lt; G &gt;</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>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1cs_1_1geographic.html">ggl::cs::geographic&lt; DegreeOrRadian &gt;</a></td><td class="indexvalue">Geographic coordinate system, in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> or in <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_1cs_1_1polar.html">ggl::cs::polar&lt; DegreeOrRadian &gt;</a></td><td class="indexvalue">Polar coordinate system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1cs_1_1spherical.html">ggl::cs::spherical&lt; DegreeOrRadian &gt;</a></td><td class="indexvalue">Spherical coordinate system, in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> or in <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_1cs__tag.html">ggl::cs_tag&lt; G &gt;</a></td><td class="indexvalue">Meta-function returning coordinate system <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> (<a class="el" href="namespaceggl_1_1cs.html">cs</a> family) of any geometry </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td class="indexvalue">Dimensionally Extended 9 Intersection Matrix </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1de9im__segment.html">ggl::de9im_segment</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1degree.html">ggl::degree</a></td><td class="indexvalue">Unit of plan angles: degrees </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1dimension.html">ggl::dimension&lt; G &gt;</a></td><td class="indexvalue">Meta-function which defines coordinate dimensions, i.e. the number of axes of any geometry </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; G1, G2 &gt;</a></td><td class="indexvalue">Shortcut to define return type of distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1dsv__manipulator.html">ggl::dsv_manipulator&lt; Geometry &gt;</a></td><td class="indexvalue">Generic geometry template manipulator class, takes corresponding output class from <a class="el" href="namespaceggl_1_1traits.html">traits</a> class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1ever__circling__iterator.html">ggl::ever_circling_iterator&lt; Iterator &gt;</a></td><td class="indexvalue">Iterator which ever circles through a range </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1exception.html">ggl::exception</a></td><td class="indexvalue">Base <a class="el" href="structggl_1_1exception.html" title="Base exception class for GGL.">exception</a> class for GGL </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1geographic__tag.html">ggl::geographic_tag</a></td><td class="indexvalue">Tag indicating Geographic coordinate system family (geographic) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1geometry__collection__tag.html">ggl::geometry_collection_tag</a></td><td class="indexvalue">OGC Geometry Collection 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_1geometry__id.html">ggl::geometry_id&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function the id for a geometry type </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1geometry__not__recognized__tag.html">ggl::geometry_not_recognized_tag</a></td><td class="indexvalue">"default" <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_1interior__type.html">ggl::interior_type&lt; G &gt;</a></td><td class="indexvalue">Meta-function defining container type of inner rings of (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> geometriy </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1is__linear.html">ggl::is_linear&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function defining "true" for linear types (<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), "false" for non-linear typse </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1is__multi.html">ggl::is_multi&lt; Geometry &gt;</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&lt; CoordinateSystem &gt;</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&lt; P &gt;</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&lt; P, V, A &gt;</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&lt; P, V, A &gt;</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&lt; L, V, A &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1multi__linestring__tag.html">ggl::multi_linestring_tag</a></td><td class="indexvalue">OGC Multi <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> 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__point.html">ggl::multi_point&lt; P, V, A &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1multi__point__tag.html">ggl::multi_point_tag</a></td><td class="indexvalue">OGC Multi <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1multi__polygon.html">ggl::multi_polygon&lt; P, V, A &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1multi__polygon__tag.html">ggl::multi_polygon_tag</a></td><td class="indexvalue">OGC Multi <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere&lt; P, T &gt;</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&lt; T, D, C &gt;</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&lt; Geometry &gt;</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__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&lt; Geometry &gt;</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&lt; T, C &gt;</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>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</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&lt; S1, S2, ReturnType &gt;</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&lt; Policy1, Policy2 &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1polygon.html">ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&lt; G &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1replace__point__type.html">ggl::replace_point_type&lt; Geometry, NewPointType &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1reverse__dispatch.html">ggl::reverse_dispatch&lt; Geometry1, Geometry2 &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1ring__tag.html">ggl::ring_tag</a></td><td class="indexvalue">Convenience (linear) ring identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1ring__type.html">ggl::ring_type&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function which defines ring type of (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> geometry </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td><td class="indexvalue">Structure containing <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a> information </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1sections.html">ggl::sections&lt; Box, DimensionCount &gt;</a></td><td class="indexvalue">Structure containing a collection of <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1segment.html">ggl::segment&lt; P &gt;</a></td><td class="indexvalue">Class <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>: small containing two (templatized) <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> references </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1segment__identifier.html">ggl::segment_identifier</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1segment__intersection__points.html">ggl::segment_intersection_points&lt; P &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1segment__tag.html">ggl::segment_tag</a></td><td class="indexvalue">Convenience <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1select__coordinate__type.html">ggl::select_coordinate_type&lt; T1, T2 &gt;</a></td><td class="indexvalue">Utility selecting the most precise coordinate type of two geometries </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise&lt; T1, T2 &gt;</a></td><td class="indexvalue">Traits class to select, of two types, the most accurate type for calculations </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1spherical__tag.html">ggl::spherical_tag</a></td><td class="indexvalue">Tag indicating Spherical coordinate system family (spherical,celestial,...) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a></td><td class="indexvalue">Area calculation by spherical excess </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</a></td><td class="indexvalue">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt;</a></td><td class="indexvalue">Centroid calculation using algorith Bashein / Detmer </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995&lt; PC, PS &gt;</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&lt; P, D &gt;</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&lt; P &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</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&lt; P, S &gt;</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&lt; P1, P2, CalculationType &gt;</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>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</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="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;::state</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">ggl::strategy::envelope::shift::shifted&lt; D &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html">ggl::strategy::envelope::shift::shifted&lt; degree &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">ggl::strategy::envelope::shift::shifted&lt; radian &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">ggl::strategy::intersection::liang_barsky&lt; B, P &gt;</a></td><td class="indexvalue">Strategy: line clipping algorithm after Liang Barsky </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1not__implemented.html">ggl::strategy::not_implemented</a></td><td class="indexvalue">Indicate compiler/library user that <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> is not implemented </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side&lt; P, PS &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a></td><td class="indexvalue">Implements the <a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">simplify</a> algorithm </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">ggl::strategy::transform::copy_direct&lt; P &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to copy one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another using assignment operator </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">ggl::strategy::transform::copy_per_coordinate&lt; P1, P2 &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do copy a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, copying per coordinate </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html">ggl::strategy::transform::degree_radian_vv&lt; P1, P2, F &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to go from <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> to <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a> and back </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html">ggl::strategy::transform::degree_radian_vv_3&lt; P1, P2, F &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html">ggl::strategy::transform::from_cartesian_3_to_spherical_2&lt; P1, P2 &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D cartesian (x,y,z) to 2D spherical (phi,theta) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html">ggl::strategy::transform::from_cartesian_3_to_spherical_3&lt; P1, P2 &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D cartesian (x,y,z) to 3D spherical (phi,theta,r) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html">ggl::strategy::transform::from_spherical_2_to_cartesian_3&lt; P1, P2 &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 2D spherical (phi,theta) to 3D cartesian (x,y,z) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html">ggl::strategy::transform::from_spherical_3_to_cartesian_3&lt; P1, P2 &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D spherical (phi,theta,r) to 3D cartesian (x,y,z) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">ggl::strategy::transform::inverse_transformer&lt; P1, P2 &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do an inverse ransformation in Cartesian system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do map from one to another Cartesian system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">ggl::strategy::transform::rotate_transformer&lt; P1, P2, DegreeOrRadian &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to rotate in Cartesian system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">ggl::strategy::transform::scale_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to scale in Cartesian system </td></tr>
+ <tr><td class="indexkey"><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">ggl::strategy::transform::scale_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::scale_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">ggl::strategy::transform::translate_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to translate in Cartesian system </td></tr>
+ <tr><td class="indexkey"><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">ggl::strategy::transform::translate_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::translate_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do an affine matrix transformation in Cartesian system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; P, PS &gt;</a></td><td class="indexvalue">Within detection using cross counting </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding&lt; P, PS &gt;</a></td><td class="indexvalue">Within detection using <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a> rule </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__area.html">ggl::strategy_area&lt; T, P &gt;</a></td><td class="indexvalue">Traits class binding an area <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__centroid.html">ggl::strategy_centroid&lt; T, P, PS &gt;</a></td><td class="indexvalue">Traits class binding a centroid calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__compare.html">ggl::strategy_compare&lt; T, P, D &gt;</a></td><td class="indexvalue">Traits class binding a comparing <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__convex__hull.html">ggl::strategy_convex_hull&lt; T, P &gt;</a></td><td class="indexvalue">Traits class binding a convex hull calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__distance.html">ggl::strategy_distance&lt; T1, T2, P1, P2 &gt;</a></td><td class="indexvalue">Traits class binding a distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a (possibly two) coordinate system(s) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__distance__segment.html">ggl::strategy_distance_segment&lt; CsTag1, CsTag2, Point, Segment &gt;</a></td><td class="indexvalue">Traits class binding a distance-to-segment <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a (possibly two) coordinate system(s) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__envelope.html">ggl::strategy_envelope&lt; TP, TB, P, B &gt;</a></td><td class="indexvalue">Traits class binding envelope <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__parse.html">ggl::strategy_parse&lt; T, CS &gt;</a></td><td class="indexvalue">Traits class binding a parsing <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__side.html">ggl::strategy_side&lt; T, P, PS &gt;</a></td><td class="indexvalue">Traits class binding a side determination <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__tag.html">ggl::strategy_tag&lt; T &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><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">ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><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">ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__tag__distance__point__point.html">ggl::strategy_tag_distance_point_point</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__tag__distance__point__segment.html">ggl::strategy_tag_distance_point_segment</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__tag__unknown.html">ggl::strategy_tag_unknown</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__transform.html">ggl::strategy_transform&lt; CS_TAG1, CS_TAG2, CS1, CS2, D1, D2, P1, P2 &gt;</a></td><td class="indexvalue">Traits class binding a transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__within.html">ggl::strategy_within&lt; TP, TS, P, PS &gt;</a></td><td class="indexvalue">Traits class binding a within determination <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1svg__manipulator.html">ggl::svg_manipulator&lt; G &gt;</a></td><td class="indexvalue">Generic geometry template manipulator class, takes corresponding output class from <a class="el" href="namespaceggl_1_1traits.html">traits</a> class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1tag.html">ggl::tag&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function to get the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of any geometry type </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1topological__dimension.html">ggl::topological_dimension&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function returning the topological <a class="el" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension</a> of a geometry </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access&lt; G &gt;</a></td><td class="indexvalue">Traits class which gives <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (get,set) to points </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point&lt; G, P &gt;</a></td><td class="indexvalue">Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear&lt; G &gt;</a></td><td class="indexvalue">Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">ggl::traits::coordinate_system&lt; P &gt;</a></td><td class="indexvalue">Traits class defining the coordinate system of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, important for <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> selection </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">ggl::traits::coordinate_system&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1coordinate__type.html">ggl::traits::coordinate_type&lt; P &gt;</a></td><td class="indexvalue">Traits class which indicate the coordinate type (double,float,...) of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td class="indexkey"><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">ggl::traits::coordinate_type&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1cs__tag.html">ggl::traits::cs_tag&lt; CoordinateSystem &gt;</a></td><td class="indexvalue">Traits class defining coordinate system <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">tag</a>, bound to coordinate system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1dimension.html">ggl::traits::dimension&lt; P &gt;</a></td><td class="indexvalue">Traits class indicating the number of dimensions of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td class="indexkey"><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">ggl::traits::dimension&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1exterior__ring.html">ggl::traits::exterior_ring&lt; P &gt;</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_1exterior__ring.html" title="Traits class defining access to exterior_ring of a polygon.">exterior_ring</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_1indexed__access.html">ggl::traits::indexed_access&lt; G, I, D &gt;</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&lt; G &gt;</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&lt; G &gt;</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__type.html">ggl::traits::point_type&lt; G &gt;</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&lt; G, T, D &gt;</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&lt; G &gt;</a></td><td class="indexvalue">Traits class indicating the type (double,float,...) of the radius of a circle or a sphere </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1ring__type.html">ggl::traits::ring_type&lt; G &gt;</a></td><td class="indexvalue">Traits class to indicate ring-type of a polygon's exterior ring/interior rings </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1tag.html">ggl::traits::tag&lt; Geometry &gt;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</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&lt; G &gt;</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="class_point_list.html">PointList</a></td><td class="indexvalue"></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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/algorithms/append.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point&lt; G, P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename RoP &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c">ggl::append</a> (G &amp;geometry, const RoP &amp;range_or_point, int ring_index=-1, int multi_index=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends one or more points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear-ring, <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, multi. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,242 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/append.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_APPEND_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_APPEND_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>ggl
+<a name="l00023"></a>00023 {
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>traits
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027
+<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> P&gt;
+<a name="l00040"></a><a class="code" href="structggl_1_1traits_1_1append__point.html">00040</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1append__point.html" title="Traits class, optional, might be implemented to append a point.">append_point</a>
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 };
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 } <span class="comment">// namespace traits</span>
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a> {
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> P, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00051"></a>00051 <span class="keyword">struct </span>append_point {};
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> P&gt;
+<a name="l00054"></a>00054 <span class="keyword">struct </span>append_point&lt;G, P, true&gt;
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(G&amp; geometry, P <span class="keyword">const</span>&amp; point, <span class="keywordtype">int</span> , <span class="keywordtype">int</span> )
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keyword">typename</span> point_type&lt;G&gt;::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="l00061"></a>00061 geometry.push_back(point_type);
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063 };
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> P&gt;
+<a name="l00066"></a>00066 <span class="keyword">struct </span>append_point&lt;G, P, false&gt;
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(G&amp; geometry, P <span class="keyword">const</span>&amp; point, <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> multi_index)
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 traits::append_point&lt;G, P&gt;::apply(geometry, point, ring_index, multi_index);
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072 };
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> R, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00075"></a>00075 <span class="keyword">struct </span>append_range
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;R&gt;::type point_type;
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(G&amp; geometry, R <span class="keyword">const</span>&amp; range, <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> multi_index)
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;R&gt;::type it = boost::begin(range);
+<a name="l00082"></a>00082 it != boost::end(range); ++it)
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 append_point&lt;G, point_type, Std&gt;::apply(geometry, *it, ring_index, multi_index);
+<a name="l00085"></a>00085 }
+<a name="l00086"></a>00086 }
+<a name="l00087"></a>00087 };
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> T, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00090"></a>00090 <span class="keyword">struct </span>point_to_poly
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P&gt;::type range_type;
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P&amp; polygon, T <span class="keyword">const</span>&amp; point, <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> multi_index)
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 boost::ignore_unused_variable_warning(multi_index);
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keywordflow">if</span> (ring_index == -1)
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100 append_point&lt;range_type, T, Std&gt;::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon), point, -1, -1);
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ring_index &lt; boost::size(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)))
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 append_point&lt;range_type, T, Std&gt;::apply(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[ring_index], point, -1, -1);
+<a name="l00105"></a>00105 }
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107 };
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> R, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00110"></a>00110 <span class="keyword">struct </span>range_to_poly
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P&gt;::type ring_type;
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P&amp; polygon, R <span class="keyword">const</span>&amp; range, <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> multi_index)
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 <span class="keywordflow">if</span> (ring_index == -1)
+<a name="l00117"></a>00117 {
+<a name="l00118"></a>00118 append_range&lt;ring_type, R, Std&gt;::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon), range, -1, -1);
+<a name="l00119"></a>00119 }
+<a name="l00120"></a>00120 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ring_index &lt; boost::size(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)))
+<a name="l00121"></a>00121 {
+<a name="l00122"></a>00122 append_range&lt;ring_type, R, Std&gt;::apply(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[ring_index], range, -1, -1);
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124 }
+<a name="l00125"></a>00125 };
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 }} <span class="comment">// namespace detail::append</span>
+<a name="l00128"></a>00128 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00129"></a>00129 <span class="preprocessor"></span>
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00132"></a>00132 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00133"></a>00133 {
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="comment">// (RoP = range or point, Std = use std library)</span>
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="comment">// Default case (where RoP will be range/array/etc)</span>
+<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> TagRoP, <span class="keyword">typename</span> G, <span class="keyword">typename</span> RoP, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00139"></a>00139 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a> : detail::<a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>::append_range&lt;G, RoP, Std&gt; {};
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 <span class="comment">// Append a point to any geometry</span>
+<a name="l00142"></a>00142 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> P, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00143"></a>00143 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>&lt;Tag, point_tag, G, P, Std&gt;
+<a name="l00144"></a>00144 : detail::<a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>::append_point&lt;G, P, Std&gt; {};
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="comment">// Never possible to append anything to a point/box/n-sphere</span>
+<a name="l00147"></a>00147 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TagRoP, <span class="keyword">typename</span> P, <span class="keyword">typename</span> RoP, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00148"></a>00148 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>&lt;point_tag, TagRoP, P, RoP, Std&gt; {};
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TagRoP, <span class="keyword">typename</span> B, <span class="keyword">typename</span> RoP, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00151"></a>00151 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>&lt;box_tag, TagRoP, B, RoP, Std&gt; {};
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TagRoP, <span class="keyword">typename</span> N, <span class="keyword">typename</span> RoP, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00154"></a>00154 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>&lt;nsphere_tag, TagRoP, N, RoP, Std&gt; {};
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> TAG_R, <span class="keyword">typename</span> R, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00157"></a>00157 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>&lt;polygon_tag, TAG_R, P, R, Std&gt;
+<a name="l00158"></a>00158 : detail::<a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>::range_to_poly&lt;P, R, Std&gt; {};
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> T, <span class="keywordtype">bool</span> Std&gt;
+<a name="l00161"></a>00161 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>&lt;polygon_tag, point_tag, P, T, Std&gt;
+<a name="l00162"></a>00162 : detail::<a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>::point_to_poly&lt;P, T, Std&gt; {};
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 <span class="comment">// Multi-linestring and multi-polygon might either implement traits or use standard...</span>
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 } <span class="comment">// namespace dispatch</span>
+<a name="l00167"></a>00167 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00168"></a>00168 <span class="preprocessor"></span>
+<a name="l00169"></a>00169
+<a name="l00179"></a>00179 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> RoP&gt;
+<a name="l00180"></a><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c">00180</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(G&amp; geometry, <span class="keyword">const</span> RoP&amp; range_or_point,
+<a name="l00181"></a>00181 <span class="keywordtype">int</span> ring_index = -1, <span class="keywordtype">int</span> multi_index = 0)
+<a name="l00182"></a>00182 {
+<a name="l00183"></a>00183 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">dispatch::append</a>
+<a name="l00186"></a>00186 &lt;
+<a name="l00187"></a>00187 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00188"></a>00188 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;RoP&gt;::type</a>,
+<a name="l00189"></a>00189 ncg_type,
+<a name="l00190"></a>00190 RoP,
+<a name="l00191"></a>00191 <a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">traits::use_std&lt;ncg_type&gt;::value</a>
+<a name="l00192"></a>00192 &gt;::apply(geometry, range_or_point, ring_index, multi_index);
+<a name="l00193"></a>00193 }
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 } <span class="comment">// namespace ggl</span>
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 <span class="preprocessor">#endif // GGL_ALGORITHMS_APPEND_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/arithmetic/arithmetic.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 &nbsp;</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&lt;typename Point1 , typename Point2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f">ggl::add_point</a> (Point1 &amp;p1, Point2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gf403c3bcfc0b66a4f708b6ea2890cadb">ggl::add_value</a> (Point &amp;p, typename detail::param&lt; Point &gt;::type value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a value to each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point1 , typename Point2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g107f9a76ffac64805a1f0c93ce235da8">ggl::divide_point</a> (Point1 &amp;p1, Point2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divides a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by another. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g8eb0c9ae709c0b9a9e9de8cfd32f7ee8">ggl::divide_value</a> (Point &amp;p, typename detail::param&lt; Point &gt;::type value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divides each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by a value. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point1 , typename Point2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#ge9b84ad59c960d6a6c8257446e1fc4c1">ggl::multiply_point</a> (Point1 &amp;p1, Point2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by another. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gfc95bf881239da6c1f64f5b8d63dbe9d">ggl::multiply_value</a> (Point &amp;p, typename detail::param&lt; Point &gt;::type value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by a value. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point1 , typename Point2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9">ggl::subtract_point</a> (Point1 &amp;p1, Point2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtracts a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g4672200cc86d998c5b6a1106fb423d80">ggl::subtract_value</a> (Point &amp;p, typename detail::param&lt; Point &gt;::type value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtracts a value to each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,209 @@
+<!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">
+&nbsp;&nbsp;
+</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/arithmetic/arithmetic.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_ARITHMETIC_ARITHMETIC_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ARITHMETIC_ARITHMETIC_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;functional&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/call_traits.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="for__each__coordinate_8hpp.html">ggl/util/for_each_coordinate.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00033"></a>00033 <span class="keyword">struct </span>param
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::call_traits
+<a name="l00036"></a>00036 &lt;
+<a name="l00037"></a>00037 <span class="keyword">typename</span> coordinate_type&lt;P&gt;::type
+<a name="l00038"></a>00038 &gt;::param_type type;
+<a name="l00039"></a>00039 };
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>Function&gt;
+<a name="l00042"></a>00042 <span class="keyword">struct </span>value_operation
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 C m_value;
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">inline</span> value_operation(<span class="keyword">const</span> C&amp; value)
+<a name="l00047"></a>00047 : m_value(value)
+<a name="l00048"></a>00048 {}
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keywordtype">int</span> I&gt;
+<a name="l00051"></a>00051 <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P&amp; point)<span class="keyword"> const</span>
+<a name="l00052"></a>00052 <span class="keyword"> </span>{
+<a name="l00053"></a>00053 set&lt;I&gt;(point, Function&lt;C&gt;()(get&lt;I&gt;(point), m_value));
+<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> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>Src, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>Function&gt;
+<a name="l00058"></a>00058 <span class="keyword">struct </span>point_operation
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;PointSrc&gt;::type coordinate_type;
+<a name="l00061"></a>00061 PointSrc <span class="keyword">const</span>&amp; m_source_point;
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keyword">inline</span> point_operation(<span class="keyword">const</span> PointSrc&amp; point)
+<a name="l00064"></a>00064 : m_source_point(point)
+<a name="l00065"></a>00065 {}
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>Dst, <span class="keywordtype">int</span> I&gt;
+<a name="l00068"></a>00068 <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(PointDst&amp; dest_point)<span class="keyword"> const</span>
+<a name="l00069"></a>00069 <span class="keyword"> </span>{
+<a name="l00070"></a>00070 set&lt;I&gt;(dest_point,
+<a name="l00071"></a>00071 Function&lt;coordinate_type&gt;()(get&lt;I&gt;(dest_point), get&lt;I&gt;(m_source_point)));
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073 };
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 } <span class="comment">// namespace detail</span>
+<a name="l00076"></a>00076 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00077"></a>00077 <span class="preprocessor"></span>
+<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00086"></a><a class="code" href="group__arithmetic.html#gf403c3bcfc0b66a4f708b6ea2890cadb">00086</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#gf403c3bcfc0b66a4f708b6ea2890cadb" title="Adds a value to each coordinate of a point.">add_value</a>(Point&amp; p, <span class="keyword">typename</span> detail::param&lt;Point&gt;::type value)
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;Point&gt;</a>) );
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p, detail::value_operation&lt;<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&lt;Point&gt;::type</a>, std::plus&gt;(value));
+<a name="l00091"></a>00091 }
+<a name="l00092"></a>00092
+<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>1, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>2&gt;
+<a name="l00102"></a><a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f">00102</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(Point1&amp; p1, Point2 <span class="keyword">const</span>&amp; p2)
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;Point2&gt;</a>) );
+<a name="l00105"></a>00105 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint&lt;Point2&gt;</a>) );
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p1, detail::point_operation&lt;Point2, std::plus&gt;(p2));
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109
+<a name="l00117"></a>00117 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00118"></a><a class="code" href="group__arithmetic.html#g4672200cc86d998c5b6a1106fb423d80">00118</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#g4672200cc86d998c5b6a1106fb423d80" title="Subtracts a value to each coordinate of a point.">subtract_value</a>(Point&amp; p, <span class="keyword">typename</span> detail::param&lt;Point&gt;::type value)
+<a name="l00119"></a>00119 {
+<a name="l00120"></a>00120 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;Point&gt;</a>) );
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p, detail::value_operation&lt;<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&lt;Point&gt;::type</a>, std::minus&gt;(value));
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124
+<a name="l00133"></a>00133 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>1, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>2&gt;
+<a name="l00134"></a><a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9">00134</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9" title="Subtracts a point to another.">subtract_point</a>(Point1&amp; p1, Point2 <span class="keyword">const</span>&amp; p2)
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;Point2&gt;</a>) );
+<a name="l00137"></a>00137 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint&lt;Point2&gt;</a>) );
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p1, detail::point_operation&lt;Point2, std::minus&gt;(p2));
+<a name="l00140"></a>00140 }
+<a name="l00141"></a>00141
+<a name="l00149"></a>00149 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00150"></a><a class="code" href="group__arithmetic.html#gfc95bf881239da6c1f64f5b8d63dbe9d">00150</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#gfc95bf881239da6c1f64f5b8d63dbe9d" title="Multiplies each coordinate of a point by a value.">multiply_value</a>(Point&amp; p, <span class="keyword">typename</span> detail::param&lt;Point&gt;::type value)
+<a name="l00151"></a>00151 {
+<a name="l00152"></a>00152 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;Point&gt;</a>) );
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p, detail::value_operation&lt;<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&lt;Point&gt;::type</a>, std::multiplies&gt;(value));
+<a name="l00155"></a>00155 }
+<a name="l00156"></a>00156
+<a name="l00166"></a>00166 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>1, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>2&gt;
+<a name="l00167"></a><a class="code" href="group__arithmetic.html#ge9b84ad59c960d6a6c8257446e1fc4c1">00167</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#ge9b84ad59c960d6a6c8257446e1fc4c1" title="Multiplies a point by another.">multiply_point</a>(Point1&amp; p1, Point2 <span class="keyword">const</span>&amp; p2)
+<a name="l00168"></a>00168 {
+<a name="l00169"></a>00169 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;Point2&gt;</a>) );
+<a name="l00170"></a>00170 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint&lt;Point2&gt;</a>) );
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p1, detail::point_operation&lt;Point2, std::multiplies&gt;(p2));
+<a name="l00173"></a>00173 }
+<a name="l00174"></a>00174
+<a name="l00182"></a>00182 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00183"></a><a class="code" href="group__arithmetic.html#g8eb0c9ae709c0b9a9e9de8cfd32f7ee8">00183</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#g8eb0c9ae709c0b9a9e9de8cfd32f7ee8" title="Divides each coordinate of a point by a value.">divide_value</a>(Point&amp; p, <span class="keyword">typename</span> detail::param&lt;Point&gt;::type value)
+<a name="l00184"></a>00184 {
+<a name="l00185"></a>00185 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;Point&gt;</a>) );
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p, detail::value_operation&lt;<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&lt;Point&gt;::type</a>, std::divides&gt;(value));
+<a name="l00188"></a>00188 }
+<a name="l00189"></a>00189
+<a name="l00198"></a>00198 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>1, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>2&gt;
+<a name="l00199"></a><a class="code" href="group__arithmetic.html#g107f9a76ffac64805a1f0c93ce235da8">00199</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#g107f9a76ffac64805a1f0c93ce235da8" title="Divides a point by another.">divide_point</a>(Point1&amp; p1, Point2 <span class="keyword">const</span>&amp; p2)
+<a name="l00200"></a>00200 {
+<a name="l00201"></a>00201 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;Point2&gt;</a>) );
+<a name="l00202"></a>00202 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint&lt;Point2&gt;</a>) );
+<a name="l00203"></a>00203
+<a name="l00204"></a>00204 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p1, detail::point_operation&lt;Point2, std::divides&gt;(p2));
+<a name="l00205"></a>00205 }
+<a name="l00206"></a>00206
+<a name="l00207"></a>00207 } <span class="comment">// namespace ggl</span>
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 <span class="preprocessor">#endif // GGL_ARITHMETIC_ARITHMETIC_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/as_range.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1as__range__type.html">ggl::as_range_type&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function utility returning either type itself, or outer ring. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&lt;typename Range , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Range const &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b">ggl::as_range</a> (Geometry const &amp;input)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,149 @@
+<!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">
+&nbsp;&nbsp;
+</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/as_range.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_AS_RANGE_HPP</span>
+<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 &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</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 <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> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry&gt;
+<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> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00032"></a>00032 <span class="keyword">struct </span>as_range_type&lt;polygon_tag, Geometry&gt;
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Geometry&gt;::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> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Range&gt;
+<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>&amp; <span class="keyword">get</span>(Geometry <span class="keyword">const</span>&amp; 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> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Range&gt;
+<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>&lt;polygon_tag, Geometry, Range&gt;
+<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>&amp; <span class="keyword">get</span>(Geometry <span class="keyword">const</span>&amp; 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="l00060"></a>00060
+<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<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 &lt;
+<a name="l00071"></a>00071 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::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> &gt;<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> &lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Geometry&gt;
+<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>&amp; <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>&amp; 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 &lt;
+<a name="l00087"></a>00087 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00088"></a>00088 Geometry,
+<a name="l00089"></a>00089 Range
+<a name="l00090"></a>00090 &gt;<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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,100 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/assign.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 &nbsp;</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&lt;typename G , typename R &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge87a43e061a27e450e01f00c228ed472">ggl::assign</a> (G &amp;geometry, R const &amp;range)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign a range of points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gc534d6dd298802a12265e7e9c1c25a01">ggl::assign</a> (G &amp;geometry, T const &amp;c1, T const &amp;c2, T const &amp;c3, T const &amp;c4)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign center + radius to a sphere <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g4e53af2d63f19a7550b5fe0156efc433">ggl::assign</a> (G &amp;geometry, T const &amp;c1, T const &amp;c2, T const &amp;c3)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign three values to a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or the center + radius to a circle <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge58b5c7b493d0112202dc139af200c73">ggl::assign</a> (G &amp;geometry, T const &amp;c1, T const &amp;c2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd">ggl::assign_inverse</a> (G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0">ggl::assign_zero</a> (G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign zero values to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,412 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/assign.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_ASSIGN_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_ASSIGN_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/numeric/conversion/bounds.hpp&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="append_8hpp.html">ggl/algorithms/append.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="clear_8hpp.html">ggl/algorithms/clear.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="radius_8hpp.html">ggl/core/radius.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="for__each__coordinate_8hpp.html">ggl/util/for_each_coordinate.hpp</a>&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00052"></a>00052 <span class="keyword">namespace </span>ggl
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a> {
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C&gt;
+<a name="l00059"></a>00059 <span class="keyword">struct </span>assign_operation
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keyword">inline</span> assign_operation(C <span class="keyword">const</span>&amp; value)
+<a name="l00062"></a>00062 : m_value(value)
+<a name="l00063"></a>00063 {}
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> I&gt;
+<a name="l00066"></a>00066 <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P&amp; point)<span class="keyword"> const</span>
+<a name="l00067"></a>00067 <span class="keyword"> </span>{
+<a name="l00068"></a>00068 set&lt;I&gt;(point, m_value);
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keyword">private</span>:
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 C m_value;
+<a name="l00074"></a>00074 };
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076
+<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00085"></a>00085 <span class="keyword">inline</span> <span class="keywordtype">void</span> assign_value(P&amp; p, <span class="keyword">typename</span> coordinate_type&lt;P&gt;::type <span class="keyword">const</span>&amp; value)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p,
+<a name="l00088"></a>00088 assign_operation&lt;<span class="keyword">typename</span> coordinate_type&lt;P&gt;::type&gt;(value));
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00094"></a>00094 <span class="keyword">struct </span>initialize
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type&lt;B&gt;::type</a> coordinate_type;
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B&amp; box, <span class="keyword">const</span> coordinate_type&amp; value)
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100 set&lt;C, I&gt;(box, value);
+<a name="l00101"></a>00101 initialize&lt;B, C, I + 1, D&gt;::apply(box, value);
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103 };
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00106"></a>00106 <span class="keyword">struct </span>initialize&lt;B, C, D, D&gt;
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type&lt;B&gt;::type</a> coordinate_type;
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B&amp; box, <span class="keyword">const</span> coordinate_type&amp; value)
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 boost::ignore_unused_variable_warning(box);
+<a name="l00113"></a>00113 boost::ignore_unused_variable_warning(value);
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115 };
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00118"></a>00118 <span class="keyword">struct </span>assign_zero_point
+<a name="l00119"></a>00119 {
+<a name="l00120"></a>00120 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point&amp; point)
+<a name="l00121"></a>00121 {
+<a name="l00122"></a>00122 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Point&gt;::type coordinate_type;
+<a name="l00123"></a>00123 assign_value(point, 0);
+<a name="l00124"></a>00124 }
+<a name="l00125"></a>00125 };
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00129"></a>00129 <span class="keyword">struct </span>assign_inverse_box
+<a name="l00130"></a>00130 {
+<a name="l00131"></a>00131 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Box&gt;::type point_type;
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&amp; box)
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;point_type&gt;::type coordinate_type;
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 initialize
+<a name="l00138"></a>00138 &lt;
+<a name="l00139"></a>00139 Box, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Box&gt;::type::value</a>
+<a name="l00140"></a>00140 &gt;::apply(
+<a name="l00141"></a>00141 box, boost::numeric::bounds&lt;coordinate_type&gt;::highest());
+<a name="l00142"></a>00142 initialize
+<a name="l00143"></a>00143 &lt;
+<a name="l00144"></a>00144 Box, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Box&gt;::type::value</a>
+<a name="l00145"></a>00145 &gt;::apply(
+<a name="l00146"></a>00146 box, boost::numeric::bounds&lt;coordinate_type&gt;::lowest());
+<a name="l00147"></a>00147 }
+<a name="l00148"></a>00148 };
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00151"></a>00151 <span class="keyword">struct </span>assign_zero_box
+<a name="l00152"></a>00152 {
+<a name="l00153"></a>00153 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&amp; box)
+<a name="l00154"></a>00154 {
+<a name="l00155"></a>00155 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Box&gt;::type coordinate_type;
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 initialize
+<a name="l00158"></a>00158 &lt;
+<a name="l00159"></a>00159 Box, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Box&gt;::type::value</a>
+<a name="l00160"></a>00160 &gt;::apply(box, coordinate_type());
+<a name="l00161"></a>00161 initialize
+<a name="l00162"></a>00162 &lt;
+<a name="l00163"></a>00163 Box, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Box&gt;::type::value</a>
+<a name="l00164"></a>00164 &gt;::apply(box, coordinate_type());
+<a name="l00165"></a>00165 }
+<a name="l00166"></a>00166 };
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168
+<a name="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="l00177"></a>00177
+<a name="l00178"></a>00178 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<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="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<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>&lt;point_tag, P, 2&gt;
+<a name="l00183"></a>00183 {
+<a name="l00184"></a>00184 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;P&gt;::type coordinate_type;
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00187"></a>00187 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P&amp; point, T <span class="keyword">const</span>&amp; c1, T <span class="keyword">const</span>&amp; c2)
+<a name="l00188"></a>00188 {
+<a name="l00189"></a>00189 set&lt;0&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(c1));
+<a name="l00190"></a>00190 set&lt;1&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(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> &lt;<span class="keyword">typename</span> P&gt;
+<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>&lt;point_tag, P, 3&gt;
+<a name="l00196"></a>00196 {
+<a name="l00197"></a>00197 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;P&gt;::type coordinate_type;
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00200"></a>00200 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P&amp; point, T <span class="keyword">const</span>&amp; c1, T <span class="keyword">const</span>&amp; c2, T <span class="keyword">const</span>&amp; c3)
+<a name="l00201"></a>00201 {
+<a name="l00202"></a>00202 set&lt;0&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(c1));
+<a name="l00203"></a>00203 set&lt;1&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(c2));
+<a name="l00204"></a>00204 set&lt;2&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(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> &lt;<span class="keyword">typename</span> B&gt;
+<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>&lt;box_tag, B, 2&gt;
+<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&lt;B&gt;::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">// -&gt; 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 -&gt;</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> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00221"></a>00221 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B&amp; box, T <span class="keyword">const</span>&amp; x1, T <span class="keyword">const</span>&amp; y1, T <span class="keyword">const</span>&amp; x2, T <span class="keyword">const</span>&amp; y2)
+<a name="l00222"></a>00222 {
+<a name="l00223"></a>00223 set&lt;min_corner, 0&gt;(box, boost::numeric_cast&lt;coordinate_type&gt;(x1));
+<a name="l00224"></a>00224 set&lt;min_corner, 1&gt;(box, boost::numeric_cast&lt;coordinate_type&gt;(y1));
+<a name="l00225"></a>00225 set&lt;max_corner, 0&gt;(box, boost::numeric_cast&lt;coordinate_type&gt;(x2));
+<a name="l00226"></a>00226 set&lt;max_corner, 1&gt;(box, boost::numeric_cast&lt;coordinate_type&gt;(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> &lt;<span class="keyword">typename</span> S&gt;
+<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>&lt;nsphere_tag, S, 2&gt;
+<a name="l00236"></a>00236 {
+<a name="l00237"></a>00237 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;S&gt;::type coordinate_type;
+<a name="l00238"></a>00238 <span class="keyword">typedef</span> <span class="keyword">typename</span> radius_type&lt;S&gt;::type radius_type;
+<a name="l00239"></a>00239
+<a name="l00241"></a>00241 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00242"></a>00242 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(S&amp; sphercle, T <span class="keyword">const</span>&amp; c1, T <span class="keyword">const</span>&amp; c2)
+<a name="l00243"></a>00243 {
+<a name="l00244"></a>00244 set&lt;0&gt;(sphercle, boost::numeric_cast&lt;coordinate_type&gt;(c1));
+<a name="l00245"></a>00245 set&lt;1&gt;(sphercle, boost::numeric_cast&lt;coordinate_type&gt;(c2));
+<a name="l00246"></a>00246 }
+<a name="l00247"></a>00247
+<a name="l00248"></a>00248 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> R&gt;
+<a name="l00249"></a>00249 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(S&amp; sphercle, T <span class="keyword">const</span>&amp; c1,
+<a name="l00250"></a>00250 T <span class="keyword">const</span>&amp; c2, R <span class="keyword">const</span>&amp; radius)
+<a name="l00251"></a>00251 {
+<a name="l00252"></a>00252 set&lt;0&gt;(sphercle, boost::numeric_cast&lt;coordinate_type&gt;(c1));
+<a name="l00253"></a>00253 set&lt;1&gt;(sphercle, boost::numeric_cast&lt;coordinate_type&gt;(c2));
+<a name="l00254"></a>00254 set_radius&lt;0&gt;(sphercle, boost::numeric_cast&lt;radius_type&gt;(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> &lt;<span class="keyword">typename</span> S&gt;
+<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>&lt;nsphere_tag, S, 3&gt;
+<a name="l00260"></a>00260 {
+<a name="l00261"></a>00261 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;S&gt;::type coordinate_type;
+<a name="l00262"></a>00262 <span class="keyword">typedef</span> <span class="keyword">typename</span> radius_type&lt;S&gt;::type radius_type;
+<a name="l00263"></a>00263
+<a name="l00265"></a>00265 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00266"></a>00266 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(S&amp; sphercle, T <span class="keyword">const</span>&amp; c1, T <span class="keyword">const</span>&amp; c2, T <span class="keyword">const</span>&amp; c3)
+<a name="l00267"></a>00267 {
+<a name="l00268"></a>00268 set&lt;0&gt;(sphercle, boost::numeric_cast&lt;coordinate_type&gt;(c1));
+<a name="l00269"></a>00269 set&lt;1&gt;(sphercle, boost::numeric_cast&lt;coordinate_type&gt;(c2));
+<a name="l00270"></a>00270 set&lt;2&gt;(sphercle, boost::numeric_cast&lt;coordinate_type&gt;(c3));
+<a name="l00271"></a>00271 }
+<a name="l00272"></a>00272
+<a name="l00274"></a>00274 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> R&gt;
+<a name="l00275"></a>00275 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(S&amp; sphercle, T <span class="keyword">const</span>&amp; c1,
+<a name="l00276"></a>00276 T <span class="keyword">const</span>&amp; c2, T <span class="keyword">const</span>&amp; c3, R <span class="keyword">const</span>&amp; radius)
+<a name="l00277"></a>00277 {
+<a name="l00278"></a>00278
+<a name="l00279"></a>00279 set&lt;0&gt;(sphercle, boost::numeric_cast&lt;coordinate_type&gt;(c1));
+<a name="l00280"></a>00280 set&lt;1&gt;(sphercle, boost::numeric_cast&lt;coordinate_type&gt;(c2));
+<a name="l00281"></a>00281 set&lt;2&gt;(sphercle, boost::numeric_cast&lt;coordinate_type&gt;(c3));
+<a name="l00282"></a>00282 set_radius&lt;0&gt;(sphercle, boost::numeric_cast&lt;radius_type&gt;(radius));
+<a name="l00283"></a>00283 }
+<a name="l00284"></a>00284
+<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> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry&gt;
+<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="l00290"></a>00290
+<a name="l00291"></a>00291
+<a name="l00292"></a>00292 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<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>&lt;point_tag, Point&gt;
+<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&lt;Point&gt;
+<a name="l00295"></a>00295 {};
+<a name="l00296"></a>00296
+<a name="l00297"></a>00297 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<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>&lt;box_tag, Box&gt;
+<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&lt;Box&gt;
+<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> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry&gt;
+<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="l00305"></a>00305
+<a name="l00306"></a>00306 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<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>&lt;box_tag, Box&gt;
+<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&lt;Box&gt;
+<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="l00315"></a>00315
+<a name="l00320"></a>00320 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> T&gt;
+<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&amp; geometry, T <span class="keyword">const</span>&amp; c1, T <span class="keyword">const</span>&amp; 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 &lt;
+<a name="l00325"></a>00325 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::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&lt;G&gt;::type::value</a>
+<a name="l00328"></a>00328 &gt;::apply(geometry, c1, c2);
+<a name="l00329"></a>00329 }
+<a name="l00330"></a>00330
+<a name="l00335"></a>00335 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> T&gt;
+<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&amp; geometry, T <span class="keyword">const</span>&amp; c1, T <span class="keyword">const</span>&amp; c2, T <span class="keyword">const</span>&amp; 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 &lt;
+<a name="l00340"></a>00340 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::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&lt;G&gt;::type::value</a>
+<a name="l00343"></a>00343 &gt;::apply(geometry, c1, c2, c3);
+<a name="l00344"></a>00344 }
+<a name="l00345"></a>00345
+<a name="l00350"></a>00350 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> T&gt;
+<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&amp; geometry, T <span class="keyword">const</span>&amp; c1, T <span class="keyword">const</span>&amp; c2, T <span class="keyword">const</span>&amp; c3, T <span class="keyword">const</span>&amp; 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 &lt;
+<a name="l00355"></a>00355 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::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&lt;G&gt;::type::value</a>
+<a name="l00358"></a>00358 &gt;::apply(geometry, c1, c2, c3, c4);
+<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> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> R&gt;
+<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&amp; geometry, R <span class="keyword">const</span>&amp; 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="l00373"></a>00373
+<a name="l00374"></a>00374
+<a name="l00382"></a>00382 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<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&amp; 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 &lt;
+<a name="l00387"></a>00387 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00388"></a>00388 G
+<a name="l00389"></a>00389 &gt;::apply(geometry);
+<a name="l00390"></a>00390 }
+<a name="l00391"></a>00391
+<a name="l00398"></a>00398 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<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&amp; 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 &lt;
+<a name="l00403"></a>00403 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00404"></a>00404 G
+<a name="l00405"></a>00405 &gt;::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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign__box__corner_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign__box__corner_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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 &nbsp;</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&lt;std::size_t C1, std::size_t C2, typename B , typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e5791c5c360cbb58d16b18cb46323175">ggl::assign_box_corner</a> (B const &amp;box, P &amp;point)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename B , typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271">ggl::assign_box_corners</a> (B const &amp;box, P &amp;lower_left, P &amp;lower_right, P &amp;upper_left, P &amp;upper_right)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign__box__corner_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign__box__corner_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</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> &lt;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&gt;
+<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>&amp; <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, P&amp; <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&lt;B, 2&gt;();
+<a name="l00033"></a>00033 assert_dimension&lt;P, 2&gt;();
+<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&lt;P&gt;::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&lt;0&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(get&lt;C1, 0&gt;(box)));
+<a name="l00039"></a>00039 set&lt;1&gt;(point, boost::numeric_cast&lt;coordinate_type&gt;(get&lt;C2, 1&gt;(box)));
+<a name="l00040"></a>00040 }
+<a name="l00041"></a>00041
+<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> P&gt;
+<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>&amp; <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, P&amp; lower_left, P&amp; lower_right, P&amp; upper_left, P&amp; upper_right)
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 assign_box_corner&lt;min_corner, min_corner&gt;(box, lower_left);
+<a name="l00052"></a>00052 assign_box_corner&lt;max_corner, min_corner&gt;(box, lower_right);
+<a name="l00053"></a>00053 assign_box_corner&lt;min_corner, max_corner&gt;(box, upper_left);
+<a name="l00054"></a>00054 assign_box_corner&lt;max_corner, max_corner&gt;(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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/base_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/base_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</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/base.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/base_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/base_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/base.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_ITERATORS_BASE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ITERATORS_BASE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/iterator.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/iterator/iterator_adaptor.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/iterator/iterator_categories.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>iterators {
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Iterator&gt;
+<a name="l00020"></a>00020 <span class="keyword">struct </span>iterator_base :
+<a name="l00021"></a>00021 <span class="keyword">public</span> boost::iterator_adaptor
+<a name="l00022"></a>00022 &lt;
+<a name="l00023"></a>00023 T,
+<a name="l00024"></a>00024 Iterator,
+<a name="l00025"></a>00025 boost::use_default,
+<a name="l00026"></a>00026 typename boost::mpl::if_
+<a name="l00027"></a>00027 &lt;
+<a name="l00028"></a>00028 boost::is_convertible
+<a name="l00029"></a>00029 &lt;
+<a name="l00030"></a>00030 typename boost::iterator_traversal&lt;Iterator&gt;::type,
+<a name="l00031"></a>00031 boost::random_access_traversal_tag
+<a name="l00032"></a>00032 &gt;,
+<a name="l00033"></a>00033 boost::bidirectional_traversal_tag,
+<a name="l00034"></a>00034 boost::use_default
+<a name="l00035"></a>00035 &gt;::type
+<a name="l00036"></a>00036 &gt;
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="comment">// Define operator cast to Iterator to be able to write things like Iterator it = myit++</span>
+<a name="l00039"></a>00039 <span class="keyword">inline</span> operator Iterator()<span class="keyword"> const</span>
+<a name="l00040"></a>00040 <span class="keyword"> </span>{
+<a name="l00041"></a>00041 <span class="keywordflow">return</span> this-&gt;base();
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="comment">/*inline bool operator==(const Iterator&amp; other) const</span>
+<a name="l00045"></a>00045 <span class="comment"> {</span>
+<a name="l00046"></a>00046 <span class="comment"> return this-&gt;base() == other;</span>
+<a name="l00047"></a>00047 <span class="comment"> }</span>
+<a name="l00048"></a>00048 <span class="comment"> inline bool operator!=(const Iterator&amp; other) const</span>
+<a name="l00049"></a>00049 <span class="comment"> {</span>
+<a name="l00050"></a>00050 <span class="comment"> return ! operator==(other);</span>
+<a name="l00051"></a>00051 <span class="comment"> }*/</span>
+<a name="l00052"></a>00052 };
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 }}} <span class="comment">// namespace ggl::detail::iterators</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="l00058"></a>00058 <span class="preprocessor">#endif // GGL_ITERATORS_BASE_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/boost__array__as__linestring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/boost__array__as__linestring_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,96 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/adapted/boost_array_as_linestring.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="boost__array__as__linestring_8hpp.html#c19d11709bb4aad9bb66e96aa6293ebc">GGL_ADAPTED_BOOST_ARRAY_RANGE_TAG_DEFINED</a></td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="c19d11709bb4aad9bb66e96aa6293ebc"></a><!-- doxytag: member="boost_array_as_linestring.hpp::GGL_ADAPTED_BOOST_ARRAY_RANGE_TAG_DEFINED" ref="c19d11709bb4aad9bb66e96aa6293ebc" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GGL_ADAPTED_BOOST_ARRAY_RANGE_TAG_DEFINED </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="boost__array__as__linestring_8hpp_source.html#l00018">18</a> of file <a class="el" href="boost__array__as__linestring_8hpp_source.html">boost_array_as_linestring.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/boost__array__as__linestring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/boost__array__as__linestring_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,105 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/adapted/boost_array_as_linestring.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_ADAPTED_BOOST_ARRAY_AS_LINESTRING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ADAPTED_BOOST_ARRAY_AS_LINESTRING_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#ifdef _GEOMETRY_ADAPTED_BOOST_ARRAY_RANGE_TAG_DEFINED</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#error Include only one headerfile to register tag for adapted boost::array</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00017"></a>00017 <span class="preprocessor"></span>
+<a name="l00018"></a><a class="code" href="boost__array__as__linestring_8hpp.html#c19d11709bb4aad9bb66e96aa6293ebc">00018</a> <span class="preprocessor">#define GGL_ADAPTED_BOOST_ARRAY_RANGE_TAG_DEFINED</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;boost/array.hpp&gt;</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 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00030"></a>00030 <span class="keyword">struct </span>tag&lt; boost::array&lt;T, N&gt; &gt;
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keyword">typedef</span> linestring_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00033"></a>00033 };
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036 <span class="preprocessor">#endif</span>
+<a name="l00037"></a>00037 <span class="preprocessor"></span>}
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="preprocessor">#endif</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/boost__array__as__ring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/boost__array__as__ring_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,96 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/adapted/boost_array_as_ring.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="boost__array__as__ring_8hpp.html#c19d11709bb4aad9bb66e96aa6293ebc">GGL_ADAPTED_BOOST_ARRAY_RANGE_TAG_DEFINED</a></td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="c19d11709bb4aad9bb66e96aa6293ebc"></a><!-- doxytag: member="boost_array_as_ring.hpp::GGL_ADAPTED_BOOST_ARRAY_RANGE_TAG_DEFINED" ref="c19d11709bb4aad9bb66e96aa6293ebc" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GGL_ADAPTED_BOOST_ARRAY_RANGE_TAG_DEFINED </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="boost__array__as__ring_8hpp_source.html#l00018">18</a> of file <a class="el" href="boost__array__as__ring_8hpp_source.html">boost_array_as_ring.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/boost__array__as__ring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/boost__array__as__ring_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,105 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/adapted/boost_array_as_ring.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_ADAPTED_BOOST_ARRAY_AS_RING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ADAPTED_BOOST_ARRAY_AS_RING_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#ifdef _GEOMETRY_ADAPTED_BOOST_ARRAY_RANGE_TAG_DEFINED</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#error Include only one headerfile to register tag for adapted boost::array</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00017"></a>00017 <span class="preprocessor"></span>
+<a name="l00018"></a><a class="code" href="boost__array__as__ring_8hpp.html#c19d11709bb4aad9bb66e96aa6293ebc">00018</a> <span class="preprocessor">#define GGL_ADAPTED_BOOST_ARRAY_RANGE_TAG_DEFINED</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;boost/array.hpp&gt;</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 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00030"></a>00030 <span class="keyword">struct </span>tag&lt; boost::array&lt;T, N&gt; &gt;
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keyword">typedef</span> ring_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00033"></a>00033 };
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036 <span class="preprocessor">#endif</span>
+<a name="l00037"></a>00037 <span class="preprocessor"></span>}
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="preprocessor">#endif</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/box.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>: defines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> made of two describing points. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,159 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/box.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_BOX_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_BOX_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl
+<a name="l00019"></a>00019 {
+<a name="l00020"></a>00020
+<a name="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt;
+<a name="l00035"></a><a class="code" href="classggl_1_1box.html">00035</a> <span class="keyword">class </span><a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;P&gt;</a>) );
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">public</span>:
+<a name="l00040"></a>00040
+<a name="l00041"></a><a class="code" href="classggl_1_1box.html#40a32b03ef937f268b28716cd3a19ff4">00041</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1box.html#40a32b03ef937f268b28716cd3a19ff4">box</a>() {}
+<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>&amp; <a class="code" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">min_corner</a>, P <span class="keyword">const</span>&amp; <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="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>&amp; <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; }
+<a name="l00053"></a><a class="code" href="classggl_1_1box.html#ad3ec53ea62b0bfa3cb897cea62ea0f0">00053</a> <span class="keyword">inline</span> P <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html#ad3ec53ea62b0bfa3cb897cea62ea0f0">max_corner</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_max_corner; }
+<a name="l00054"></a>00054
+<a name="l00055"></a><a class="code" href="classggl_1_1box.html#437ec3e1792291376892b682d3406af9">00055</a> <span class="keyword">inline</span> P&amp; <a class="code" href="classggl_1_1box.html#437ec3e1792291376892b682d3406af9">min_corner</a>() { <span class="keywordflow">return</span> m_min_corner; }
+<a name="l00056"></a><a class="code" href="classggl_1_1box.html#1c19e1959ea3c4e02dd80d4ee4fca2af">00056</a> <span class="keyword">inline</span> P&amp; <a class="code" href="classggl_1_1box.html#1c19e1959ea3c4e02dd80d4ee4fca2af">max_corner</a>() { <span class="keywordflow">return</span> m_max_corner; }
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keyword">private</span>:
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 P m_min_corner;
+<a name="l00061"></a>00061 P m_max_corner;
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="comment">// Traits specializations for box above</span>
+<a name="l00066"></a>00066 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00071"></a>00071 <span class="keyword">struct </span>tag&lt; box&lt;P&gt; &gt;
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keyword">typedef</span> box_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00074"></a>00074 };
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00077"></a>00077 <span class="keyword">struct </span>point_type&lt;box&lt;P&gt; &gt;
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keyword">typedef</span> P type;
+<a name="l00080"></a>00080 };
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00083"></a>00083 <span class="keyword">struct </span>indexed_access&lt;box&lt;P&gt;, C, D&gt;
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="keyword">typedef</span> box&lt;P&gt; box_type;
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;box_type&gt;::type</a> <span class="keyword">get</span>(box_type <span class="keyword">const</span>&amp; b)
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> (C == <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a> ? ggl::get&lt;D&gt;(b.min_corner()) : ggl::get&lt;D&gt;(b.max_corner()));
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(box_type&amp; b, <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&lt;box_type&gt;::type</a> <span class="keyword">const</span>&amp; value)
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 <span class="keywordflow">if</span> (C == <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>)
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 ggl::set&lt;D&gt;(b.min_corner(), value);
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 <span class="keywordflow">else</span>
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100 ggl::set&lt;D&gt;(b.max_corner(), value);
+<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 traits</span>
+<a name="l00106"></a>00106 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00107"></a>00107 <span class="preprocessor"></span>
+<a name="l00108"></a>00108 } <span class="comment">// namespace ggl</span>
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="preprocessor">#endif // GGL_GEOMETRIES_BOX_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,94 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/box_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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box&lt; B &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::Box&lt; B &gt;::dimension_checker&lt; C, D, N &gt;</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::Box&lt; B &gt;::dimension_checker&lt; C, N, N &gt;</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox&lt; B &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstBox&lt; B &gt;::dimension_checker&lt; C, D, N &gt;</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstBox&lt; B &gt;::dimension_checker&lt; C, N, N &gt;</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,160 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/box_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_CORE_CONCEPTS_BOX_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CONCEPTS_BOX_CONCEPT_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021
+<a name="l00022"></a><a class="code" href="namespaceggl_1_1concept.html">00022</a> <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00029"></a>00029 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B&gt;
+<a name="l00030"></a><a class="code" href="structggl_1_1concept_1_1_box.html">00030</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a>
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keyword">private</span> :
+<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;B&gt;::type</a> P;
+<a name="l00034"></a>00034
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00037"></a>00037 <span class="keyword">struct </span>dimension_checker
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 B* b;
+<a name="l00042"></a>00042 ggl::set&lt;C, D&gt;(*b, ggl::get&lt;C, D&gt;(*b));
+<a name="l00043"></a>00043 dimension_checker&lt;C, D + 1, N&gt;::check();
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00048"></a>00048 <span class="keyword">struct </span>dimension_checker&lt;C, N, N&gt;
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
+<a name="l00051"></a>00051 };
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">public</span> :
+<a name="l00055"></a><a class="code" href="structggl_1_1concept_1_1_box.html#6fa5d3378f1f34978c07d54abf69f753">00055</a> <a class="code" href="structggl_1_1concept_1_1_box.html#6fa5d3378f1f34978c07d54abf69f753" title="BCCL macro to check the Box concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a>)
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;B&gt;::value</a>;
+<a name="l00058"></a>00058 dimension_checker&lt;min_corner, 0, N&gt;::check();
+<a name="l00059"></a>00059 dimension_checker&lt;max_corner, 0, N&gt;::check();
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061 };
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063
+<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B&gt;
+<a name="l00071"></a><a class="code" href="structggl_1_1concept_1_1_const_box.html">00071</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_const_box.html" title="Checks Box concept (const version).">ConstBox</a>
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keyword">private</span> :
+<a name="l00074"></a>00074 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;B&gt;::type</a> P;
+<a name="l00075"></a>00075 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;B&gt;::type</a> T;
+<a name="l00076"></a>00076
+<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00079"></a>00079 <span class="keyword">struct </span>dimension_checker
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="keyword">const</span> B* b = 0;
+<a name="l00084"></a>00084 T coord(ggl::get&lt;C, D&gt;(*b));
+<a name="l00085"></a>00085 boost::ignore_unused_variable_warning(coord);
+<a name="l00086"></a>00086 dimension_checker&lt;C, D + 1, N&gt;::check();
+<a name="l00087"></a>00087 }
+<a name="l00088"></a>00088 };
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00091"></a>00091 <span class="keyword">struct </span>dimension_checker&lt;C, N, N&gt;
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
+<a name="l00094"></a>00094 };
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="keyword">public</span> :
+<a name="l00098"></a><a class="code" href="structggl_1_1concept_1_1_const_box.html#0deab699f7cecb2854ba52635635405f">00098</a> <a class="code" href="structggl_1_1concept_1_1_const_box.html#0deab699f7cecb2854ba52635635405f" title="BCCL macro to check the ConstBox concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_box.html" title="Checks Box concept (const version).">ConstBox</a>)
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;B&gt;::value</a>;
+<a name="l00101"></a>00101 dimension_checker&lt;min_corner, 0, N&gt;::check();
+<a name="l00102"></a>00102 dimension_checker&lt;max_corner, 0, N&gt;::check();
+<a name="l00103"></a>00103 }
+<a name="l00104"></a>00104 };
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="preprocessor">#endif // GGL_CORE_CONCEPTS_BOX_CONCEPT_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/buffer.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 &nbsp;</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&lt;typename Input , typename Output , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63">ggl::buffer</a> (const Input &amp;geometry_in, Output &amp;geometry_out, T const &amp;distance, T const &amp;chord_length=-1)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate buffer (= new geometry) around specified distance of geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Output , typename Input , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Output&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g86e90005b6d11abc10459e02e4f4ed22">ggl::make_buffer</a> (const Input &amp;geometry, T const &amp;distance, T const &amp;chord_length=-1)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return buffer (= new geometry) around specified distance of geometry. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,189 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/buffer.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_ALGORITHMS_BUFFER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_BUFFER_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="arithmetic_8hpp.html">ggl/arithmetic/arithmetic.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="box__concept_8hpp.html">ggl/core/concepts/box_concept.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="assign__box__corner_8hpp.html">ggl/util/assign_box_corner.hpp</a>&gt;</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> &lt;<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&gt;
+<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&lt;BoxOut&gt;::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>&amp; box_in, T <span class="keyword">const</span>&amp; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>, BoxOut&amp; box_out)
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 set&lt;C, D&gt;(box_out, boost::numeric_cast&lt;coordinate_type&gt;(get&lt;C, D&gt;(box_in) + distance));
+<a name="l00048"></a>00048 box_loop&lt;BoxIn, BoxOut, T, C, D + 1, N&gt;::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> &lt;<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&gt;
+<a name="l00053"></a>00053 <span class="keyword">struct </span>box_loop&lt;BoxIn, BoxOut, T, C, N, N&gt;
+<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>&amp;, T <span class="keyword">const</span>&amp;, BoxOut&amp;) {}
+<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>&lt;<span class="keyword">typename</span> BoxIn, <span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> T&gt;
+<a name="l00060"></a>00060 <span class="keyword">inline</span> <span class="keywordtype">void</span> buffer_box(BoxIn <span class="keyword">const</span>&amp; box_in, T <span class="keyword">const</span>&amp; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>, BoxOut&amp; box_out)
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 assert_dimension_equal&lt;BoxIn, BoxOut&gt;();
+<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&lt;BoxIn&gt;::value</a>;
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 box_loop&lt;BoxIn, BoxOut, T, min_corner, 0, N&gt;::apply(box_in, -distance, box_out);
+<a name="l00067"></a>00067 box_loop&lt;BoxIn, BoxOut, T, max_corner, 0, N&gt;::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> &lt;<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&gt;
+<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="l00079"></a>00079
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BoxIn, <span class="keyword">typename</span> T, <span class="keyword">typename</span> BoxOut&gt;
+<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>&lt;box_tag, box_tag, BoxIn, T, BoxOut&gt;
+<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>&amp; box_in, T <span class="keyword">const</span>&amp; <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>&amp; chord_length, BoxIn&amp; 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> &lt;<span class="keyword">typename</span> Input, <span class="keyword">typename</span> Output, <span class="keyword">typename</span> T&gt;
+<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&amp; geometry_in, Output&amp; geometry_out,
+<a name="l00113"></a>00113 T <span class="keyword">const</span>&amp; <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>&amp; 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 &lt;
+<a name="l00117"></a>00117 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Input&gt;::type</a>,
+<a name="l00118"></a>00118 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Output&gt;::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 &gt;::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> &lt;<span class="keyword">typename</span> Output, <span class="keyword">typename</span> Input, <span class="keyword">typename</span> T&gt;
+<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&amp; geometry, T <span class="keyword">const</span>&amp; <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>&amp; 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 &lt;
+<a name="l00141"></a>00141 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Input&gt;::type</a>,
+<a name="l00142"></a>00142 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Output&gt;::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 &gt;::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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c01__custom__point__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c01__custom__point__example_8cpp-example.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,197 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>c01_custom_point_example.cpp</h1>This sample demonstrates that custom points can be made as well. This sample contains many points, derived from boost::tuple, created from scratch, read only points, legacy points, etc.<p>
+<div class="fragment"><pre class="fragment"><span class="comment">// Generic Geometry Library</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+<span class="comment">// Custom point Example</span>
+
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+
+<span class="preprocessor">#include &lt;<a class="code" href="algorithms_2distance_8hpp.html">ggl/algorithms/distance.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="make_8hpp.html">ggl/algorithms/make.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="register_2point_8hpp.html">ggl/geometries/register/point.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="write__dsv_8hpp.html">ggl/util/write_dsv.hpp</a>&gt;</span>
+
+<span class="comment">// Sample point, defining three color values</span>
+<span class="keyword">struct </span>my_color_point
+{
+ <span class="keywordtype">double</span> red, green, blue;
+};
+
+<span class="comment">// Sample point, having an int array defined</span>
+<span class="keyword">struct </span>my_array_point
+{
+ <span class="keywordtype">int</span> c[3];
+};
+
+<span class="comment">// Sample point, having x/y</span>
+<span class="keyword">struct </span>my_2d
+{
+ <span class="keywordtype">float</span> x,y;
+};
+
+<span class="comment">// Sample class, protected and construction-time-only x/y,</span>
+<span class="comment">// Can (of course) only used in algorithms which take const&amp; points</span>
+<span class="keyword">class </span>my_class_ro
+{
+<span class="keyword">public</span>:
+ my_class_ro(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y) : m_x(x), m_y(y) {}
+ <span class="keywordtype">double</span> x()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_x; }
+ <span class="keywordtype">double</span> y()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_y; }
+<span class="keyword">private</span>:
+ <span class="keywordtype">double</span> m_x, m_y;
+};
+
+<span class="comment">// Sample class using references for read/write</span>
+<span class="keyword">class </span>my_class_rw
+{
+<span class="keyword">public</span>:
+ <span class="keyword">const</span> <span class="keywordtype">double</span>&amp; x()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_x; }
+ <span class="keyword">const</span> <span class="keywordtype">double</span>&amp; y()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_y; }
+ <span class="keywordtype">double</span>&amp; x() { <span class="keywordflow">return</span> m_x; }
+ <span class="keywordtype">double</span>&amp; y() { <span class="keywordflow">return</span> m_y; }
+<span class="keyword">private</span>:
+ <span class="keywordtype">double</span> m_x, m_y;
+};
+
+<span class="comment">// Sample class using getters / setters</span>
+<span class="keyword">class </span>my_class_gs
+{
+<span class="keyword">public</span>:
+ <span class="keyword">const</span> <span class="keywordtype">double</span> get_x()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_x; }
+ <span class="keyword">const</span> <span class="keywordtype">double</span> get_y()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_y; }
+ <span class="keywordtype">void</span> set_x(<span class="keywordtype">double</span> v) { m_x = v; }
+ <span class="keywordtype">void</span> set_y(<span class="keywordtype">double</span> v) { m_y = v; }
+<span class="keyword">private</span>:
+ <span class="keywordtype">double</span> m_x, m_y;
+};
+
+<a name="a0"></a><a class="code" href="register_2point_8hpp.html#3c77b4554aef1349e81be71035af3b64">GEOMETRY_REGISTER_POINT_3D</a>(my_color_point, <span class="keywordtype">double</span>, cs::cartesian, red, green, blue)
+<a class="code" href="register_2point_8hpp.html#3c77b4554aef1349e81be71035af3b64">GEOMETRY_REGISTER_POINT_3D</a>(my_array_point, <span class="keywordtype">int</span>, cs::cartesian, c[0], c[1], c[2])
+<a name="a1"></a><a class="code" href="register_2point_8hpp.html#14955651e3df068662a34944ca29764f">GEOMETRY_REGISTER_POINT_2D</a>(my_2d, <span class="keywordtype">float</span>, cs::cartesian, x, y)
+<a name="a2"></a><a class="code" href="register_2point_8hpp.html#dae7297232bdaa4c6c569dcdb16209bf">GEOMETRY_REGISTER_POINT_2D_CONST</a>(my_class_ro, <span class="keywordtype">double</span>, cs::cartesian, x(), y())
+<a class="code" href="register_2point_8hpp.html#14955651e3df068662a34944ca29764f">GEOMETRY_REGISTER_POINT_2D</a>(my_class_rw, <span class="keywordtype">double</span>, cs::cartesian, x(), y())
+<a name="a3"></a><a class="code" href="register_2point_8hpp.html#1400081dc8c3320e31e0fb6ab3b777eb">GEOMETRY_REGISTER_POINT_2D_GET_SET</a>(my_class_gs, <span class="keywordtype">double</span>, cs::cartesian, get_x, get_y, set_x, set_y)
+
+<span class="keywordtype">int</span> main()
+{
+ <span class="comment">// Create 2 instances of our custom color point</span>
+ my_color_point c1 = ggl::make&lt;my_color_point&gt;(255, 3, 233);
+ my_color_point c2 = ggl::make&lt;my_color_point&gt;(0, 50, 200);
+
+ <span class="comment">// The distance between them can be calculated using the cartesian method (=pythagoras)</span>
+ <span class="comment">// provided with the library, configured by the coordinate_system type of the point</span>
+ std::cout &lt;&lt; <span class="stringliteral">"color distance "</span>
+ &lt;&lt; <a name="a4"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(c1) &lt;&lt; <span class="stringliteral">" to "</span>
+ &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(c2) &lt;&lt; <span class="stringliteral">" is "</span>
+ &lt;&lt; <a name="a5"></a><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(c1,c2) &lt;&lt; std::endl;
+
+ my_array_point a1 = {{0}};
+ my_array_point a2 = {{0}};
+ <a name="a6"></a><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(a1, 1, 2, 3);
+ <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(a2, 3, 2, 1);
+
+ std::cout &lt;&lt; <span class="stringliteral">"color distance "</span>
+ &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(a1) &lt;&lt; <span class="stringliteral">" to "</span>
+ &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(a2) &lt;&lt; <span class="stringliteral">" is "</span>
+ &lt;&lt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(a1,a2) &lt;&lt; std::endl;
+
+ my_2d p1 = {1, 5};
+ my_2d p2 = {3, 4};
+ std::cout &lt;&lt; <span class="stringliteral">"float distance "</span>
+ &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(p1) &lt;&lt; <span class="stringliteral">" to "</span>
+ &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(p2) &lt;&lt; <span class="stringliteral">" is "</span>
+ &lt;&lt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(p1,p2) &lt;&lt; std::endl;
+
+ my_class_ro cro1(1, 2);
+ my_class_ro cro2(3, 4);
+ std::cout &lt;&lt; <span class="stringliteral">"class ro distance "</span>
+ &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(cro1) &lt;&lt; <span class="stringliteral">" to "</span>
+ &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(cro2) &lt;&lt; <span class="stringliteral">" is "</span>
+ &lt;&lt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(cro1,cro2) &lt;&lt; std::endl;
+
+ my_class_rw crw1;
+ my_class_rw crw2;
+ <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(crw1, 1, 2);
+ <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(crw2, 3, 4);
+ std::cout &lt;&lt; <span class="stringliteral">"class r/w distance "</span>
+ &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(crw1) &lt;&lt; <span class="stringliteral">" to "</span>
+ &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(crw2) &lt;&lt; <span class="stringliteral">" is "</span>
+ &lt;&lt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(crw1,crw2) &lt;&lt; std::endl;
+
+ my_class_gs cgs1;
+ my_class_gs cgs2;
+ <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(cgs1, 1, 2);
+ <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(cgs2, 3, 4);
+ std::cout &lt;&lt; <span class="stringliteral">"class g/s distance "</span>
+ &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(crw1) &lt;&lt; <span class="stringliteral">" to "</span>
+ &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(crw2) &lt;&lt; <span class="stringliteral">" is "</span>
+ &lt;&lt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(cgs1,cgs2) &lt;&lt; std::endl;
+
+ <span class="keywordflow">return</span> 0;
+}
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c02__custom__box__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c02__custom__box__example_8cpp-example.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,138 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>c02_custom_box_example.cpp</h1>Besides custom points, custom boxes are possible as shown in this example.<p>
+<div class="fragment"><pre class="fragment"><span class="comment">// Generic Geometry Library</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+<span class="comment">// Custom point Example</span>
+
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+
+<span class="preprocessor">#include &lt;<a class="code" href="make_8hpp.html">ggl/algorithms/make.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="register_2point_8hpp.html">ggl/geometries/register/point.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="register_2box_8hpp.html">ggl/geometries/register/box.hpp</a>&gt;</span>
+
+<span class="preprocessor">#include &lt;<a class="code" href="write__dsv_8hpp.html">ggl/util/write_dsv.hpp</a>&gt;</span>
+
+<span class="keyword">struct </span>my_point
+{
+ <span class="keywordtype">double</span> x, y;
+};
+
+<span class="keyword">struct </span>my_int_point
+{
+ <span class="keywordtype">int</span> x, y;
+};
+
+<span class="keyword">struct </span>my_box
+{
+ my_point ll, ur;
+};
+
+<span class="keyword">struct </span>my_box_ltrb
+{
+ <span class="keywordtype">int</span> left, top, right, bottom;
+};
+
+<span class="keyword">struct </span>my_box_4
+{
+ <span class="keywordtype">double</span> coors[4];
+};
+
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<span class="keyword">struct </span>my_box_t
+{
+ P ll, ur;
+};
+
+<a name="a0"></a><a class="code" href="register_2point_8hpp.html#14955651e3df068662a34944ca29764f">GEOMETRY_REGISTER_POINT_2D</a>(my_point, <span class="keywordtype">double</span>, cs::cartesian, x, y)
+<a class="code" href="register_2point_8hpp.html#14955651e3df068662a34944ca29764f">GEOMETRY_REGISTER_POINT_2D</a>(my_int_point, <span class="keywordtype">int</span>, cs::cartesian, x, y)
+<a name="a1"></a><a class="code" href="register_2box_8hpp.html#ed1a3851a1af52f04cffc6d2b2766475">GEOMETRY_REGISTER_BOX</a>(my_box, my_point, ll, ur)
+<a name="a2"></a><a class="code" href="register_2box_8hpp.html#bcf41d22a141a62e503e0e6d482a6201">GEOMETRY_REGISTER_BOX_TEMPLATIZED</a>(my_box_t, ll, ur)
+<a name="a3"></a><a class="code" href="register_2box_8hpp.html#b89014f5b050a89c7ac1128c2fdf31bd">GEOMETRY_REGISTER_BOX_2D_4VALUES</a>(my_box_ltrb, my_int_point, left, top, right, bottom)
+<a class="code" href="register_2box_8hpp.html#b89014f5b050a89c7ac1128c2fdf31bd">GEOMETRY_REGISTER_BOX_2D_4VALUES</a>(my_box_4, my_point, coors[0], coors[1], coors[2], coors[3])
+
+<span class="keywordtype">int</span> main()
+{
+ my_point p = ggl::make&lt;my_point&gt;(3.5, 3.5);
+ my_box b = ggl::make&lt;my_box&gt;(0, 0, 2, 2);
+ my_box_ltrb b1 = ggl::make&lt;my_box_ltrb&gt;(0, 0, 3, 3);
+ my_box_4 b4 = ggl::make&lt;my_box_4&gt;(0, 0, 4, 4);
+ my_box_t&lt;my_point&gt; bt = ggl::make&lt;my_box_t&lt;my_point&gt; &gt;(0, 0, 5, 5);
+
+ std::cout &lt;&lt; <a name="a4"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(p) &lt;&lt; <span class="stringliteral">" IN "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(b)
+ &lt;&lt; <span class="stringliteral">" : "</span> &lt;&lt; int(<a name="a5"></a><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, b)) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(p) &lt;&lt; <span class="stringliteral">" IN "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(b1)
+ &lt;&lt; <span class="stringliteral">" : "</span> &lt;&lt; int(<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, b1)) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(p) &lt;&lt; <span class="stringliteral">" IN "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(b4)
+ &lt;&lt; <span class="stringliteral">" : "</span> &lt;&lt; int(<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, b4)) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(p) &lt;&lt; <span class="stringliteral">" IN "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(bt)
+ &lt;&lt; <span class="stringliteral">" : "</span> &lt;&lt; int(<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, bt)) &lt;&lt; std::endl;
+
+ <span class="keywordflow">return</span> 0;
+}
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,142 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>c04_a_custom_triangle_example.cpp</h1>The <b>custom</b> triangle <b>example</b> goes even further and implements a custom ring, where the area calculation algorithm is optimized for a triangle<p>
+<div class="fragment"><pre class="fragment"><span class="comment">// Generic Geometry Library</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+<span class="comment">// Custom Triangle Example</span>
+
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+
+<span class="preprocessor">#include &lt;boost/array.hpp&gt;</span>
+
+<span class="preprocessor">#include &lt;<a class="code" href="algorithms_2area_8hpp.html">ggl/algorithms/area.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="algorithms_2centroid_8hpp.html">ggl/algorithms/centroid.hpp</a>&gt;</span>
+
+<span class="preprocessor">#include &lt;<a class="code" href="ring_8hpp.html">ggl/geometries/register/ring.hpp</a>&gt;</span>
+
+<span class="preprocessor">#include &lt;<a class="code" href="write__dsv_8hpp.html">ggl/util/write_dsv.hpp</a>&gt;</span>
+
+
+<span class="keyword">struct </span>triangle : <span class="keyword">public</span> boost::array&lt;ggl::point_xy&lt;double&gt;, 4&gt;
+{
+ <span class="keyword">inline</span> <span class="keywordtype">void</span> close()
+ {
+ (*this)[3] = (*this)[0];
+ }
+};
+
+
+<a name="a0"></a><a class="code" href="ring_8hpp.html#a5379fd615408c2561920ca9a7bda2d3">GEOMETRY_REGISTER_RING</a>(triangle)
+
+
+<span class="comment">// Specializations of algorithms, where useful. If not specialized the default ones</span>
+<span class="comment">// (for linear rings) will be used for triangle. Which is OK as long as the triangle</span>
+<span class="comment">// is closed, that means, has 4 points (the last one being the first).</span>
+namespace ggl {
+
+<span class="keyword">template</span>&lt;&gt;
+<span class="keyword">inline</span> <span class="keywordtype">double</span> area&lt;triangle&gt;(<span class="keyword">const</span> triangle&amp; t)
+{
+ <span class="comment">/* C</span>
+<span class="comment"> / \</span>
+<span class="comment"> / \</span>
+<span class="comment"> A-----B</span>
+<span class="comment"></span>
+<span class="comment"> ((Bx - Ax) * (Cy - Ay)) - ((Cx - Ax) * (By - Ay))</span>
+<span class="comment"> -------------------------------------------------</span>
+<span class="comment"> 2</span>
+<span class="comment"> */</span>
+
+ <span class="keywordflow">return</span> 0.5 * ((t[1].x() - t[0].x()) * (t[2].y() - t[0].y())
+ - (t[2].x() - t[0].x()) * (t[1].y() - t[0].y()));
+}
+
+} <span class="comment">// namespace ggl</span>
+
+<span class="keywordtype">int</span> main()
+{
+ triangle t;
+
+ t[0].x(0);
+ t[0].y(0);
+ t[1].x(5);
+ t[1].y(0);
+ t[2].x(2.5);
+ t[2].y(2.5);
+
+ t.close();
+
+ std::cout &lt;&lt; <span class="stringliteral">"Triangle: "</span> &lt;&lt; <a name="a1"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(t) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <span class="stringliteral">"Area: "</span> &lt;&lt; <a name="a2"></a><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">ggl::area</a>(t) &lt;&lt; std::endl;
+
+ <a name="_a3"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy&lt;double&gt;</a> c;
+ <a name="a4"></a><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">ggl::centroid</a>(t, c);
+ std::cout &lt;&lt; <span class="stringliteral">"Centroid: "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(c) &lt;&lt; std::endl;
+
+ <span class="keywordflow">return</span> 0;
+}
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,130 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>c04_b_custom_triangle_example.cpp</h1>This second custom triangle example shows an alternative implementation for a custom shape, showing a partial specialization for the area calculation.<p>
+<div class="fragment"><pre class="fragment"><span class="comment">// Generic Geometry Library</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+<span class="comment">// Custom triangle template Example</span>
+
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+
+<span class="preprocessor">#include &lt;boost/array.hpp&gt;</span>
+<span class="preprocessor">#include &lt;boost/tuple/tuple.hpp&gt;</span>
+
+<span class="preprocessor">#include &lt;<a class="code" href="algorithms_2area_8hpp.html">ggl/algorithms/area.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="algorithms_2centroid_8hpp.html">ggl/algorithms/centroid.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="tuple_8hpp.html">ggl/geometries/adapted/tuple.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="tuple__cartesian_8hpp.html">ggl/geometries/adapted/tuple_cartesian.hpp</a>&gt;</span>
+
+<span class="preprocessor">#include &lt;<a class="code" href="write__dsv_8hpp.html">ggl/util/write_dsv.hpp</a>&gt;</span>
+
+<span class="preprocessor">#include &lt;<a class="code" href="ring_8hpp.html">ggl/geometries/register/ring.hpp</a>&gt;</span>
+
+
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<span class="keyword">struct </span>triangle : <span class="keyword">public</span> boost::array&lt;P, 3&gt;
+{
+};
+
+<span class="comment">// Register triangle&lt;P&gt;</span>
+<a name="a0"></a><a class="code" href="ring_8hpp.html#472ca0156e282ee3cd5d91ea5631776b">GEOMETRY_REGISTER_RING_TEMPLATIZED</a>(triangle)
+
+
+namespace ggl { <span class="keyword">namespace </span>dispatch {
+
+<span class="comment">// Specializations of area dispatch structure, implement algorithm</span>
+<span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> S&gt;
+<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>&lt;ring_tag, triangle&lt;P&gt;, S&gt;
+{
+ <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> apply(triangle&lt;P&gt; <span class="keyword">const</span>&amp; t, S <span class="keyword">const</span>&amp;)
+ {
+ <span class="keywordflow">return</span> 0.5 * ((get&lt;0&gt;(t[1]) - get&lt;0&gt;(t[0])) * (get&lt;1&gt;(t[2]) - get&lt;1&gt;(t[0]))
+ - (get&lt;0&gt;(t[2]) - get&lt;0&gt;(t[0])) * (get&lt;1&gt;(t[1]) - get&lt;1&gt;(t[0])));
+ }
+};
+
+}} <span class="comment">// namespace ggl::dispatch</span>
+
+
+<span class="keywordtype">int</span> main()
+{
+ <span class="comment">//triangle&lt;ggl::point_xy&lt;double&gt; &gt; t;</span>
+ triangle&lt;boost::tuple&lt;double, double&gt; &gt; t;
+ t[0] = boost::make_tuple(0, 0);
+ t[1] = boost::make_tuple(5, 0);
+ t[2] = boost::make_tuple(2.5, 2.5);
+
+ std::cout &lt;&lt; <span class="stringliteral">"Triangle: "</span> &lt;&lt; <a name="a2"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(t) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <span class="stringliteral">"Area: "</span> &lt;&lt; <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">ggl::area</a>(t) &lt;&lt; std::endl;
+
+ <span class="comment">//ggl::point_xy&lt;double&gt; c;</span>
+ boost::tuple&lt;double, double&gt; c;
+ <a name="a3"></a><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">ggl::centroid</a>(t, c);
+ std::cout &lt;&lt; <span class="stringliteral">"Centroid: "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(c) &lt;&lt; std::endl;
+
+ <span class="keywordflow">return</span> 0;
+}
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c05__custom__point__pointer__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c05__custom__point__pointer__example_8cpp-example.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,168 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>c05_custom_point_pointer_example.cpp</h1>This example shows how GGL can be used to adapt a pointer-to-a-point, used e.g. in a linestring<p>
+<div class="fragment"><pre class="fragment"><span class="comment">// Generic Geometry Library</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+<span class="comment">// Custom pointer-to-point example</span>
+
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+
+<span class="preprocessor">#include &lt;<a class="code" href="algorithms_2distance_8hpp.html">ggl/algorithms/distance.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="algorithms_2length_8hpp.html">ggl/algorithms/length.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="make_8hpp.html">ggl/algorithms/make.hpp</a>&gt;</span>
+
+<span class="preprocessor">#include &lt;<a class="code" href="intersection__linestring_8hpp.html">ggl/algorithms/intersection_linestring.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="algorithms_2intersection_8hpp.html">ggl/algorithms/intersection.hpp</a>&gt;</span>
+
+<span class="preprocessor">#include &lt;<a class="code" href="cartesian2d_8hpp.html">ggl/geometries/cartesian2d.hpp</a>&gt;</span>
+
+<span class="preprocessor">#include &lt;<a class="code" href="std__as__linestring_8hpp.html">ggl/geometries/adapted/std_as_linestring.hpp</a>&gt;</span>
+
+<span class="comment">// Sample point, having x/y</span>
+<span class="keyword">struct </span>my_point
+{
+ <span class="keywordtype">float</span> x,y;
+};
+
+
+<span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>traits {
+
+<span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span>tag&lt;my_point*&gt;
+{ <span class="keyword">typedef</span> point_tag type; };
+
+<span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span>coordinate_type&lt;my_point*&gt;
+{ <span class="keyword">typedef</span> <span class="keywordtype">double</span> type; };
+
+<span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span>coordinate_system&lt;my_point*&gt;
+{ <span class="keyword">typedef</span> cs::cartesian type; };
+
+<span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span><a name="_a0"></a><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;my_point*&gt; : boost::mpl::int_&lt;2&gt; {};
+
+<span class="keyword">template</span>&lt;&gt;
+<span class="keyword">struct </span>access&lt;my_point*&gt;
+{
+ <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I&gt;
+ <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(<span class="keyword">const</span> my_point* p)
+ {
+ <span class="keywordflow">return</span> I == 0 ? p-&gt;x : p-&gt;y;
+ <span class="comment">// Or implement an accessor with specializations</span>
+ }
+
+ <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> I&gt;
+ <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(my_point* p, <span class="keyword">const</span> <span class="keywordtype">double</span>&amp; value)
+ {
+ <span class="comment">// Or (better) implement an accessor with specializations</span>
+ <span class="keywordflow">if</span> (I == 0) p-&gt;x = value;
+ <span class="keywordflow">else</span> <span class="keywordflow">if</span> (I == 1) p-&gt;y = value;
+ }
+
+};
+
+}} <span class="comment">// namespace ggl::traits</span>
+
+
+
+<span class="keywordtype">int</span> main()
+{
+ <span class="keyword">typedef</span> std::vector&lt;my_point*&gt; ln;
+ ln myline;
+ <span class="keywordflow">for</span> (<span class="keywordtype">float</span> i = 0.0; i &lt; 10.0; i++)
+ {
+ my_point* p = <span class="keyword">new</span> my_point;
+ p-&gt;x = i;
+ p-&gt;y = i + 1;
+ myline.push_back(p);
+ }
+
+ std::cout &lt;&lt; <a name="a1"></a><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">ggl::length</a>(myline) &lt;&lt; std::endl;
+
+ <a name="_a2"></a><a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box_2d</a> cb(<a name="_a3"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_2d</a>(1.5, 1.5), <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_2d</a>(4.5, 4.5));
+
+ <span class="comment">// This will NOT work because would need dynamicly allocating memory for point* in algorithms:</span>
+ <span class="comment">// std::vector&lt;ln&gt; clipped;</span>
+ <span class="comment">//ggl::intersection(cb, myline, std::back_inserter(clipped));</span>
+
+ <span class="comment">// This works because outputs to a normal struct point, no point*</span>
+ std::vector&lt;ggl::linestring_2d&gt; clipped;
+ <a name="_a4"></a><a class="code" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html" title="Strategy: line clipping algorithm after Liang Barsky.">ggl::strategy::intersection::liang_barsky&lt;ggl::box_2d, ggl::point_2d&gt;</a> strategy;
+ ggl::detail::intersection::clip_linestring_with_box&lt;ggl::linestring_2d&gt;(cb,
+ myline, std::back_inserter(clipped), strategy);
+
+
+ std::cout &lt;&lt; <a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">ggl::length</a>(clipped.front()) &lt;&lt; std::endl;
+
+ <span class="comment">// free</span>
+ <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; myline.size(); i++)
+ {
+ <span class="keyword">delete</span> myline[i];
+ }
+
+
+
+ <span class="keywordflow">return</span> 0;
+}
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/adapted/c_array.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/adapted/c_array.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_ADAPTED_C_ARRAY_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_ADAPTED_C_ARRAY_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/type_traits/is_arithmetic.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>ggl
+<a name="l00023"></a>00023 {
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="comment">// Create class and specialization to indicate the tag</span>
+<a name="l00034"></a>00034 <span class="comment">// for normal cases and the case that the type of the c-array is arithmetic</span>
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keywordtype">bool</span>&gt;
+<a name="l00036"></a>00036 <span class="keyword">struct </span>c_array_tag
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">typedef</span> geometry_not_recognized_tag type;
+<a name="l00039"></a>00039 };
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;&gt;
+<a name="l00042"></a>00042 <span class="keyword">struct </span>c_array_tag&lt;true&gt;
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keyword">typedef</span> point_tag type;
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 } <span class="comment">// namespace detail</span>
+<a name="l00048"></a>00048 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00049"></a>00049 <span class="preprocessor"></span>
+<a name="l00050"></a>00050 <span class="comment">// Assign the point-tag, preventing arrays of points getting a point-tag</span>
+<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00052"></a>00052 <span class="keyword">struct </span>tag&lt;T[N]&gt; : detail::c_array_tag&lt;boost::is_arithmetic&lt;T&gt;::value&gt; {};
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00055"></a>00055 <span class="keyword">struct </span>coordinate_type&lt;T[N]&gt;
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keyword">typedef</span> T type;
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00061"></a>00061 <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;T[N]&gt;: boost::mpl::int_&lt;N&gt; {};
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00064"></a>00064 <span class="keyword">struct </span>access&lt;T[N]&gt;
+<a name="l00065"></a>00065 {
+<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I&gt;
+<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> T p[N])
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <span class="keywordflow">return</span> p[I];
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I&gt;
+<a name="l00073"></a>00073 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(T p[N], <span class="keyword">const</span> T&amp; value)
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 p[I] = value;
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077 };
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="comment">// The library user has</span>
+<a name="l00080"></a>00080 <span class="comment">// 1) either to specify the coordinate system</span>
+<a name="l00081"></a>00081 <span class="comment">// 2) or include &lt;ggl/geometries/adapted/c_array__at_.hpp&gt; where @=cartesian,geographic,...</span>
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 } <span class="comment">// namespace traits</span>
+<a name="l00084"></a>00084 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00085"></a>00085 <span class="preprocessor"></span>
+<a name="l00086"></a>00086 } <span class="comment">// namespace ggl</span>
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="preprocessor">#endif // GGL_GEOMETRIES_ADAPTED_C_ARRAY_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array__cartesian_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array__cartesian_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,96 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/adapted/c_array_cartesian.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="c__array__cartesian_8hpp.html#d3fd8e69849e849475bdea2eadf0ee0f">GGL_ADAPTED_C_ARRAY_COORDINATE_SYSTEM_DEFINED</a></td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="d3fd8e69849e849475bdea2eadf0ee0f"></a><!-- doxytag: member="c_array_cartesian.hpp::GGL_ADAPTED_C_ARRAY_COORDINATE_SYSTEM_DEFINED" ref="d3fd8e69849e849475bdea2eadf0ee0f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GGL_ADAPTED_C_ARRAY_COORDINATE_SYSTEM_DEFINED </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="c__array__cartesian_8hpp_source.html#l00017">17</a> of file <a class="el" href="c__array__cartesian_8hpp_source.html">c_array_cartesian.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array__cartesian_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array__cartesian_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,102 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/adapted/c_array_cartesian.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_ADAPTED_C_ARRAY_CARTESIAN_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ADAPTED_C_ARRAY_CARTESIAN_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#ifdef _GEOMETRY_ADAPTED_C_ARRAY_COORDINATE_SYSTEM_DEFINED</span>
+<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#error Include only one headerfile to register coordinate coordinate_system for adapted c array</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span>
+<a name="l00017"></a><a class="code" href="c__array__cartesian_8hpp.html#d3fd8e69849e849475bdea2eadf0ee0f">00017</a> <span class="preprocessor">#define GGL_ADAPTED_C_ARRAY_COORDINATE_SYSTEM_DEFINED</span>
+<a name="l00018"></a>00018 <span class="preprocessor"></span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="c__array_8hpp.html">ggl/geometries/adapted/c_array.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>ggl
+<a name="l00024"></a>00024 {
+<a name="l00025"></a>00025 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keywordtype">int</span> N&gt;
+<a name="l00029"></a>00029 <span class="keyword">struct </span>coordinate_system&lt;T[N]&gt;
+<a name="l00030"></a>00030 { <span class="keyword">typedef</span> cs::cartesian type; };
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 }
+<a name="l00033"></a>00033 <span class="preprocessor">#endif</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span>}
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="preprocessor">#endif</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/detail/calculate_null.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,98 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/detail/calculate_null.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_ALGORITHMS_DETAIL_CALCULATE_NULL_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_DETAIL_CALCULATE_NULL_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="keyword">namespace </span>ggl
+<a name="l00013"></a>00013 {
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00017"></a>00017 {
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ReturnValue, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00020"></a>00020 <span class="keyword">struct </span>calculate_null
+<a name="l00021"></a>00021 {
+<a name="l00022"></a>00022 <span class="keyword">static</span> <span class="keyword">inline</span> ReturnValue apply(Geometry <span class="keyword">const</span>&amp; , Strategy <span class="keyword">const</span>&amp;)
+<a name="l00023"></a>00023 {
+<a name="l00024"></a>00024 <span class="keywordflow">return</span> ReturnValue();
+<a name="l00025"></a>00025 }
+<a name="l00026"></a>00026 };
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 } <span class="comment">// namespace detail</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span>
+<a name="l00031"></a>00031 } <span class="comment">// namespace ggl</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#endif // GGL_ALGORITHMS_DETAIL_CALCULATE_NULL_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/cartesian/cart_area.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;::summation</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,160 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/cartesian/cart_area.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_AREA_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_AREA_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="point__xy_8hpp.html">ggl/geometries/point_xy.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl
+<a name="l00021"></a>00021 {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>strategy
+<a name="l00023"></a>00023 {
+<a name="l00024"></a><a class="code" href="namespaceggl_1_1strategy_1_1area.html">00024</a> <span class="keyword">namespace </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> PS, <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>&gt;
+<a name="l00035"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">00035</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html" title="Strategy functor for area calculation on point_xy points.">by_triangles</a>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">public</span> :
+<a name="l00038"></a>00038 <span class="comment">// If user specified a calculation type, use that type,</span>
+<a name="l00039"></a>00039 <span class="comment">// whatever it is and whatever the point-type is.</span>
+<a name="l00040"></a>00040 <span class="comment">// Else, use the pointtype, but at least double</span>
+<a name="l00041"></a>00041 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00042"></a>00042 boost::mpl::if_c
+<a name="l00043"></a>00043 &lt;
+<a name="l00044"></a>00044 boost::is_void&lt;CalculationType&gt;::type::value,
+<a name="l00045"></a>00045 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00046"></a>00046 &lt;
+<a name="l00047"></a>00047 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;PS&gt;::type</a>,
+<a name="l00048"></a>00048 <span class="keywordtype">double</span>
+<a name="l00049"></a>00049 &gt;::type,
+<a name="l00050"></a>00050 CalculationType
+<a name="l00051"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">00051</a> &gt;::type <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a>;
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keyword">private</span> :
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keyword">struct </span>summation
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a> sum;
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">inline</span> summation() : sum(<a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a>())
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 <span class="comment">// Currently only 2D areas are supported</span>
+<a name="l00063"></a>00063 assert_dimension&lt;PS, 2&gt;();
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065 <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a> <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>()<span class="keyword"> const</span>
+<a name="l00066"></a>00066 <span class="keyword"> </span>{
+<a name="l00067"></a>00067 <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a> result = sum;
+<a name="l00068"></a>00068 result *= 0.5;
+<a name="l00069"></a>00069 <span class="keywordflow">return</span> result;
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071 };
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keyword">public</span> :
+<a name="l00074"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">00074</a> <span class="keyword">typedef</span> summation <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a>;
+<a name="l00075"></a>00075
+<a name="l00076"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">00076</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">operator()</a>(<a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a> <span class="keyword">const</span>&amp; s,
+<a name="l00077"></a>00077 <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a>&amp; state)<span class="keyword"> const</span>
+<a name="l00078"></a>00078 <span class="keyword"> </span>{
+<a name="l00079"></a>00079 <span class="comment">// SUM += x2 * y1 - x1 * y2;</span>
+<a name="l00080"></a>00080 state.sum += get&lt;1, 0&gt;(s) * get&lt;0, 1&gt;(s)
+<a name="l00081"></a>00081 - get&lt;0, 0&gt;(s) * get&lt;1, 1&gt;(s);
+<a name="l00082"></a>00082 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00083"></a>00083 }
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 };
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 } <span class="comment">// namespace area</span>
+<a name="l00088"></a>00088 } <span class="comment">// namespace strategy</span>
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00092"></a>00092 <span class="preprocessor"></span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00093"></a>00093 <span class="keyword">struct </span>strategy_area&lt;cartesian_tag, P&gt;
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 <span class="keyword">typedef</span> strategy::area::by_triangles&lt;P&gt; <a class="code" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">type</a>;
+<a name="l00096"></a>00096 };
+<a name="l00097"></a>00097 <span class="preprocessor">#endif</span>
+<a name="l00098"></a>00098 <span class="preprocessor"></span>
+<a name="l00099"></a>00099 } <span class="comment">// namespace ggl</span>
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_AREA_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/cartesian/cart_centroid.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Centroid calculation using algorith Bashein / Detmer. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt;::sums</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995&lt; PC, PS &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Centroid calculation. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::strategy::centroid::geolib1995&lt; PC, PS &gt;::sums</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">ggl::strategy::centroid</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,291 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/cartesian/cart_centroid.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_CENTROID_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_CENTROID_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="point__xy_8hpp.html">ggl/geometries/point_xy.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>ggl
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>strategy
+<a name="l00030"></a>00030 {
+<a name="l00031"></a><a class="code" href="namespaceggl_1_1strategy_1_1centroid.html">00031</a> <span class="keyword">namespace </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>
+<a name="l00032"></a>00032 {
+<a name="l00042"></a>00042 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> PC, <span class="keyword">typename</span> PS = PC&gt;
+<a name="l00043"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">00043</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html" title="Centroid calculation.">geolib1995</a>
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 <span class="keyword">private</span> :
+<a name="l00046"></a>00046 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00047"></a>00047 &lt;
+<a name="l00048"></a>00048 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type&lt;PC, PS&gt;::type</a>,
+<a name="l00049"></a>00049 <span class="keywordtype">double</span>
+<a name="l00050"></a>00050 &gt;::type T;
+<a name="l00051"></a>00051
+<a name="l00053"></a>00053 <span class="keyword">struct </span>sums
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 PC sum_ms, sum_m;
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 sums()
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 assign_point(sum_m, T());
+<a name="l00060"></a>00060 assign_point(sum_ms, T());
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(PC&amp; <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>)
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 point = sum_ms;
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keywordflow">if</span> (get&lt;0&gt;(sum_m) != 0 &amp;&amp; get&lt;1&gt;(sum_m) != 0)
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <a class="code" href="group__arithmetic.html#gfc95bf881239da6c1f64f5b8d63dbe9d" title="Multiplies each coordinate of a point by a value.">multiply_value</a>(point, 0.5);
+<a name="l00069"></a>00069 <a class="code" href="group__arithmetic.html#g107f9a76ffac64805a1f0c93ce235da8" title="Divides a point by another.">divide_point</a>(point, sum_m);
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071 <span class="keywordflow">else</span>
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="comment">// exception?</span>
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075 }
+<a name="l00076"></a>00076 };
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="keyword">public</span> :
+<a name="l00079"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">00079</a> <span class="keyword">typedef</span> sums <a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a>;
+<a name="l00080"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">00080</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">operator()</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, <a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a>&amp; state)<span class="keyword"> const</span>
+<a name="l00081"></a>00081 <span class="keyword"> </span>{
+<a name="l00082"></a>00082 <span class="comment">/* Algorithm:</span>
+<a name="l00083"></a>00083 <span class="comment"> For each segment:</span>
+<a name="l00084"></a>00084 <span class="comment"> begin</span>
+<a name="l00085"></a>00085 <span class="comment"> dx = x2 - x1;</span>
+<a name="l00086"></a>00086 <span class="comment"> dy = y2 - y1;</span>
+<a name="l00087"></a>00087 <span class="comment"> sx = x2 + x1;</span>
+<a name="l00088"></a>00088 <span class="comment"> sy = y2 + y1;</span>
+<a name="l00089"></a>00089 <span class="comment"> mx = dx * sy;</span>
+<a name="l00090"></a>00090 <span class="comment"> my = sx * dy;</span>
+<a name="l00091"></a>00091 <span class="comment"></span>
+<a name="l00092"></a>00092 <span class="comment"> sum_mx += mx;</span>
+<a name="l00093"></a>00093 <span class="comment"> sum_my += my;</span>
+<a name="l00094"></a>00094 <span class="comment"> sum_msx += mx * sx;</span>
+<a name="l00095"></a>00095 <span class="comment"> sum_msy += my * sy;</span>
+<a name="l00096"></a>00096 <span class="comment"> end;</span>
+<a name="l00097"></a>00097 <span class="comment"> return POINT(0.5 * sum_msx / sum_mx, 0.5 * sum_msy / sum_my);</span>
+<a name="l00098"></a>00098 <span class="comment"> */</span>
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 PS diff = s.<a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a>, sum = s.<a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a>;
+<a name="l00101"></a>00101 <a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9" title="Subtracts a point to another.">subtract_point</a>(diff, s.<a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a>);
+<a name="l00102"></a>00102 <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(sum, s.<a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a>);
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="comment">// We might create an arithmatic operation for this.</span>
+<a name="l00105"></a>00105 PS m;
+<a name="l00106"></a>00106 get&lt;0&gt;(m) = get&lt;0&gt;(diff) * get&lt;1&gt;(sum);
+<a name="l00107"></a>00107 get&lt;1&gt;(m) = get&lt;0&gt;(sum) * get&lt;1&gt;(diff);
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(state.sum_m, m);
+<a name="l00110"></a>00110 <a class="code" href="group__arithmetic.html#ge9b84ad59c960d6a6c8257446e1fc4c1" title="Multiplies a point by another.">multiply_point</a>(m, sum);
+<a name="l00111"></a>00111 <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(state.sum_ms, m);
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 };
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118
+<a name="l00174"></a>00174 <span class="keyword">template</span>
+<a name="l00175"></a>00175 &lt;
+<a name="l00176"></a>00176 <span class="keyword">typename</span> CentroidPointType,
+<a name="l00177"></a>00177 <span class="keyword">typename</span> SegmentPointType = CentroidPointType,
+<a name="l00178"></a>00178 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00179"></a>00179 &gt;
+<a name="l00180"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">00180</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html" title="Centroid calculation using algorith Bashein / Detmer.">bashein_detmer</a>
+<a name="l00181"></a>00181 {
+<a name="l00182"></a>00182 <span class="keyword">private</span> :
+<a name="l00183"></a>00183 <span class="comment">// If user specified a calculation type, use that type,</span>
+<a name="l00184"></a>00184 <span class="comment">// whatever it is and whatever the point-type(s) are.</span>
+<a name="l00185"></a>00185 <span class="comment">// Else, use the most appropriate coordinate type</span>
+<a name="l00186"></a>00186 <span class="comment">// of the two points, but at least double</span>
+<a name="l00187"></a>00187 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00188"></a>00188 boost::mpl::if_c
+<a name="l00189"></a>00189 &lt;
+<a name="l00190"></a>00190 boost::is_void&lt;CalculationType&gt;::type::value,
+<a name="l00191"></a>00191 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00192"></a>00192 &lt;
+<a name="l00193"></a>00193 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type</a>
+<a name="l00194"></a>00194 &lt;
+<a name="l00195"></a>00195 CentroidPointType,
+<a name="l00196"></a>00196 SegmentPointType
+<a name="l00197"></a>00197 &gt;::type,
+<a name="l00198"></a>00198 <span class="keywordtype">double</span>
+<a name="l00199"></a>00199 &gt;::type,
+<a name="l00200"></a>00200 CalculationType
+<a name="l00201"></a>00201 &gt;::type calc_type;
+<a name="l00202"></a>00202
+<a name="l00204"></a>00204 <span class="keyword">struct </span>sums
+<a name="l00205"></a>00205 {
+<a name="l00206"></a>00206 calc_type sum_a2;
+<a name="l00207"></a>00207 calc_type sum_x;
+<a name="l00208"></a>00208 calc_type sum_y;
+<a name="l00209"></a>00209 <span class="keyword">inline</span> sums()
+<a name="l00210"></a>00210 : sum_a2(calc_type())
+<a name="l00211"></a>00211 , sum_x(calc_type())
+<a name="l00212"></a>00212 , sum_y(calc_type())
+<a name="l00213"></a>00213 {
+<a name="l00214"></a>00214 <span class="keyword">typedef</span> calc_type ct;
+<a name="l00215"></a>00215 <span class="comment">//std::cout &lt;&lt; "-&gt; calctype: " &lt;&lt; typeid(ct).name()</span>
+<a name="l00216"></a>00216 <span class="comment">// &lt;&lt; " size: " &lt;&lt; sizeof(ct)</span>
+<a name="l00217"></a>00217 <span class="comment">// &lt;&lt; " init: " &lt;&lt; sum_a2</span>
+<a name="l00218"></a>00218 <span class="comment">// &lt;&lt; std::endl;</span>
+<a name="l00219"></a>00219 }
+<a name="l00220"></a>00220
+<a name="l00221"></a>00221 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(CentroidPointType&amp; <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>)
+<a name="l00222"></a>00222 {
+<a name="l00223"></a>00223 <span class="keywordflow">if</span> (sum_a2 != 0)
+<a name="l00224"></a>00224 {
+<a name="l00225"></a>00225 calc_type <span class="keyword">const</span> v3 = 3;
+<a name="l00226"></a>00226 calc_type <span class="keyword">const</span> a3 = v3 * sum_a2;
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type</a>
+<a name="l00229"></a>00229 &lt;
+<a name="l00230"></a>00230 CentroidPointType
+<a name="l00231"></a>00231 &gt;::type <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
+<a name="l00232"></a>00232
+<a name="l00233"></a>00233 set&lt;0&gt;(point,
+<a name="l00234"></a>00234 boost::numeric_cast&lt;coordinate_type&gt;(sum_x / a3));
+<a name="l00235"></a>00235 set&lt;1&gt;(point,
+<a name="l00236"></a>00236 boost::numeric_cast&lt;coordinate_type&gt;(sum_y / a3));
+<a name="l00237"></a>00237 }
+<a name="l00238"></a>00238 <span class="keywordflow">else</span>
+<a name="l00239"></a>00239 {
+<a name="l00240"></a>00240 <span class="comment">// exception?</span>
+<a name="l00241"></a>00241 }
+<a name="l00242"></a>00242 }
+<a name="l00243"></a>00243
+<a name="l00244"></a>00244 };
+<a name="l00245"></a>00245
+<a name="l00246"></a>00246 <span class="keyword">public</span> :
+<a name="l00247"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">00247</a> <span class="keyword">typedef</span> sums <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a>;
+<a name="l00248"></a>00248
+<a name="l00249"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">00249</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">operator()</a>(<a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const SegmentPointType&gt;</a> <span class="keyword">const</span>&amp; s, <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a>&amp; state)<span class="keyword"> const</span>
+<a name="l00250"></a>00250 <span class="keyword"> </span>{
+<a name="l00251"></a>00251 <span class="comment">/* Algorithm:</span>
+<a name="l00252"></a>00252 <span class="comment"> For each segment:</span>
+<a name="l00253"></a>00253 <span class="comment"> begin</span>
+<a name="l00254"></a>00254 <span class="comment"> ai = x1 * y2 - x2 * y1;</span>
+<a name="l00255"></a>00255 <span class="comment"> sum_a2 += ai;</span>
+<a name="l00256"></a>00256 <span class="comment"> sum_x += ai * (x1 + x2);</span>
+<a name="l00257"></a>00257 <span class="comment"> sum_y += ai * (y1 + y2);</span>
+<a name="l00258"></a>00258 <span class="comment"> end</span>
+<a name="l00259"></a>00259 <span class="comment"> return POINT(sum_x / (3 * sum_a2), sum_y / (3 * sum_a2) )</span>
+<a name="l00260"></a>00260 <span class="comment"> */</span>
+<a name="l00261"></a>00261
+<a name="l00262"></a>00262 <span class="comment">// Get coordinates and promote them to calc_type</span>
+<a name="l00263"></a>00263 calc_type <span class="keyword">const</span> x1 = boost::numeric_cast&lt;calc_type&gt;(get&lt;0, 0&gt;(s));
+<a name="l00264"></a>00264 calc_type <span class="keyword">const</span> y1 = boost::numeric_cast&lt;calc_type&gt;(get&lt;0, 1&gt;(s));
+<a name="l00265"></a>00265 calc_type <span class="keyword">const</span> x2 = boost::numeric_cast&lt;calc_type&gt;(get&lt;1, 0&gt;(s));
+<a name="l00266"></a>00266 calc_type <span class="keyword">const</span> y2 = boost::numeric_cast&lt;calc_type&gt;(get&lt;1, 1&gt;(s));
+<a name="l00267"></a>00267 calc_type <span class="keyword">const</span> ai = x1 * y2 - x2 * y1;
+<a name="l00268"></a>00268 state.sum_a2 += ai;
+<a name="l00269"></a>00269 state.sum_x += ai * (x1 + x2);
+<a name="l00270"></a>00270 state.sum_y += ai * (y1 + y2);
+<a name="l00271"></a>00271
+<a name="l00272"></a>00272 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00273"></a>00273 }
+<a name="l00274"></a>00274
+<a name="l00275"></a>00275 };
+<a name="l00276"></a>00276 } <span class="comment">// namespace centroid</span>
+<a name="l00277"></a>00277
+<a name="l00278"></a>00278 } <span class="comment">// namespace strategy</span>
+<a name="l00279"></a>00279
+<a name="l00280"></a>00280
+<a name="l00281"></a>00281 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00282"></a>00282 <span class="preprocessor"></span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS&gt;
+<a name="l00283"></a>00283 <span class="keyword">struct </span>strategy_centroid&lt;cartesian_tag, P, PS&gt;
+<a name="l00284"></a>00284 {
+<a name="l00285"></a>00285 <span class="keyword">typedef</span> strategy::centroid::bashein_detmer&lt;P, PS&gt; <a class="code" href="structggl_1_1strategy__centroid.html#d993b491319e39b70e4b52c2fd9f5dd6">type</a>;
+<a name="l00286"></a>00286 };
+<a name="l00287"></a>00287 <span class="preprocessor">#endif</span>
+<a name="l00288"></a>00288 <span class="preprocessor"></span>
+<a name="l00289"></a>00289 } <span class="comment">// namespace ggl</span>
+<a name="l00290"></a>00290
+<a name="l00291"></a>00291
+<a name="l00292"></a>00292 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_CENTROID_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__compare_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__compare_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/cartesian/cart_compare.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">ggl::strategy::compare::euclidian&lt; P, D &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare (in one direction) <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for cartesian coordinates. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1compare.html">ggl::strategy::compare</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__compare_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__compare_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/cartesian/cart_compare.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_COMPARE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_COMPARE_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 &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl
+<a name="l00021"></a>00021 {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>strategy
+<a name="l00023"></a>00023 {
+<a name="l00024"></a><a class="code" href="namespaceggl_1_1strategy_1_1compare.html">00024</a> <span class="keyword">namespace </span>compare
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keywordtype">size_t</span> D&gt;
+<a name="l00035"></a><a class="code" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">00035</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1compare_1_1euclidian.html" title="Compare (in one direction) strategy for cartesian coordinates.">euclidian</a>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a><a class="code" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#69e12a7cd92180445c9d6b293a808059">00037</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#69e12a7cd92180445c9d6b293a808059">smaller</a>(<span class="keyword">const</span> P&amp; p1, <span class="keyword">const</span> P&amp; p2)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keywordflow">return</span> get&lt;D&gt;(p1) &lt; get&lt;D&gt;(p2);
+<a name="l00040"></a>00040 }
+<a name="l00041"></a>00041
+<a name="l00042"></a><a class="code" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#2348861bfb7eee153354bb81e633ea3a">00042</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#2348861bfb7eee153354bb81e633ea3a">larger</a>(<span class="keyword">const</span> P&amp; p1, <span class="keyword">const</span> P&amp; p2)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keywordflow">return</span> get&lt;D&gt;(p1) &gt; get&lt;D&gt;(p2);
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 };
+<a name="l00048"></a>00048 } <span class="comment">// namespace compare</span>
+<a name="l00049"></a>00049 } <span class="comment">// namespace strategy</span>
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span>
+<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keywordtype">size_t</span> D&gt;
+<a name="l00055"></a>00055 <span class="keyword">struct </span>strategy_compare&lt;cartesian_tag, P, D&gt;
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keyword">typedef</span> strategy::compare::euclidian&lt;P, D&gt; <a class="code" href="structggl_1_1strategy__compare.html#990dea01301b207c8152141f89242399">type</a>;
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span>
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 } <span class="comment">// namespace ggl</span>
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_COMPARE_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/cartesian/cart_distance.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras&lt; P1, P2, CalculationType &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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">ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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">ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,292 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/cartesian/cart_distance.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_DISTANCE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_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 &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="arithmetic_8hpp.html">ggl/arithmetic/arithmetic.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="dot__product_8hpp.html">ggl/arithmetic/dot_product.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="comment">// Helper geometry</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">namespace </span>ggl {
+<a name="l00034"></a>00034
+<a name="l00035"></a><a class="code" href="namespaceggl_1_1strategy_1_1distance.html">00035</a> <span class="keyword">namespace </span>strategy { <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="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
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keywordtype">size_t</span> I, <span class="keyword">typename</span> T&gt;
+<a name="l00042"></a>00042 <span class="keyword">struct </span>compute_pythagoras
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keyword">static</span> <span class="keyword">inline</span> T apply(P1 <span class="keyword">const</span>&amp; p1, P2 <span class="keyword">const</span>&amp; p2)
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 T <span class="keyword">const</span> c1 = boost::numeric_cast&lt;T&gt;(<span class="keyword">get</span>&lt;I-1&gt;(p2));
+<a name="l00047"></a>00047 T <span class="keyword">const</span> c2 = boost::numeric_cast&lt;T&gt;(<span class="keyword">get</span>&lt;I-1&gt;(p1));
+<a name="l00048"></a>00048 T <span class="keyword">const</span> d = c1 - c2;
+<a name="l00049"></a>00049 <span class="keywordflow">return</span> d * d + compute_pythagoras&lt;P1, P2, I-1, T&gt;::apply(p1, p2);
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051 };
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> T&gt;
+<a name="l00054"></a>00054 <span class="keyword">struct </span>compute_pythagoras&lt;P1, P2, 0, T&gt;
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">static</span> <span class="keyword">inline</span> T apply(P1 <span class="keyword">const</span>&amp;, P2 <span class="keyword">const</span>&amp;)
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keywordflow">return</span> boost::numeric_cast&lt;T&gt;(0);
+<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="preprocessor">#endif</span>
+<a name="l00064"></a>00064 <span class="preprocessor"></span>
+<a name="l00073"></a>00073 <span class="keyword">template</span>
+<a name="l00074"></a>00074 &lt;
+<a name="l00075"></a>00075 <span class="keyword">typename</span> P1,
+<a name="l00076"></a>00076 <span class="keyword">typename</span> P2 = P1,
+<a name="l00077"></a>00077 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00078"></a>00078 &gt;
+<a name="l00079"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">00079</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html" title="Strategy for distance point to point: pythagoras.">pythagoras</a>
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00082"></a>00082 boost::mpl::if_c
+<a name="l00083"></a>00083 &lt;
+<a name="l00084"></a>00084 boost::is_void&lt;CalculationType&gt;::type::value,
+<a name="l00085"></a>00085 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type</a>
+<a name="l00086"></a>00086 &lt;
+<a name="l00087"></a>00087 P1,
+<a name="l00088"></a>00088 P2
+<a name="l00089"></a>00089 &gt;::type,
+<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> &gt;::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&lt;calculation_type&gt;</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="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>&amp; p1, P2 <span class="keyword">const</span>&amp; 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&lt;P1&gt;</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&lt;P2&gt;</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&lt;P1, P2&gt;();
+<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 &lt;
+<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&lt;P1&gt;::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 &gt;::apply(p1, p2));
+<a name="l00113"></a>00113 }
+<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 &lt;
+<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&lt;P, typename point_type&lt;Segment&gt;::type&gt;
+<a name="l00133"></a>00133 &gt;
+<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&lt;P, Segment&gt;::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&lt;coordinate_type&gt;</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="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>&amp; p, Segment <span class="keyword">const</span>&amp; s)<span class="keyword"> const</span>
+<a name="l00143"></a>00143 <span class="keyword"> </span>{
+<a name="l00144"></a>00144 assert_dimension_equal&lt;P, Segment&gt;();
+<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 &lt;
+<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&lt;Segment&gt;::type</a>
+<a name="l00158"></a>00158 &gt;::type segment_point_type;
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 segment_point_type v, w;
+<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&lt;,&gt;</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="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 &lt;= 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 &lt;= 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&lt;double/float&gt;</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="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="l00201"></a>00201
+<a name="l00202"></a>00202
+<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> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00206"></a>00206 <span class="keyword">struct </span>strategy_distance&lt;cartesian_tag, cartesian_tag, P1, P2&gt;
+<a name="l00207"></a>00207 {
+<a name="l00208"></a>00208 <span class="keyword">typedef</span> strategy::distance::pythagoras&lt;P1, P2&gt; <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> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment&gt;
+<a name="l00212"></a>00212 <span class="keyword">struct </span>strategy_distance_segment&lt;cartesian_tag, cartesian_tag, Point, Segment&gt;
+<a name="l00213"></a>00213 {
+<a name="l00214"></a>00214 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Segment&gt;::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 &lt;
+<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 &lt;
+<a name="l00222"></a>00222 cartesian_tag, cartesian_tag, Point, segment_point_type
+<a name="l00223"></a>00223 &gt;<a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">::type</a>
+<a name="l00224"></a>00224 &gt; <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> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<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>&lt;strategy::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::pythagoras&lt;P1, P2&gt; &gt;
+<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> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment, <span class="keyword">typename</span> PPStrategy&gt;
+<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>&lt;strategy::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::xy_point_segment&lt;Point, Segment, PPStrategy&gt; &gt;
+<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="l00242"></a>00242
+<a name="l00243"></a>00243 } <span class="comment">// namespace ggl</span>
+<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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__envelope_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__envelope_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/cartesian/cart_envelope.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;::state</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__envelope_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__envelope_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,131 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/cartesian/cart_envelope.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_ENVELOPE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_ENVELOPE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="point__xy_8hpp.html">ggl/geometries/point_xy.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="combine_8hpp.html">ggl/algorithms/combine.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl
+<a name="l00021"></a>00021 {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>strategy
+<a name="l00023"></a>00023 {
+<a name="l00024"></a><a class="code" href="namespaceggl_1_1strategy_1_1envelope.html">00024</a> <span class="keyword">namespace </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026 <span class="comment">// envelope calculation strategy for xy-points</span>
+<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B&gt;
+<a name="l00028"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">00028</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">combine_xy</a>
+<a name="l00029"></a>00029 {
+<a name="l00030"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">00030</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state</a>
+<a name="l00031"></a>00031 {
+<a name="l00032"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">00032</a> B&amp; <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a>;
+<a name="l00033"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#d5773c71a966e0389f8976f6a42bda98">00033</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#d5773c71a966e0389f8976f6a42bda98">state</a>(B&amp; <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>) : <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a>(box)
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd" title="assign to a box inverse infinite">assign_inverse</a>(<a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a>);
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037 };
+<a name="l00038"></a>00038
+<a name="l00039"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#182ce543f6c73a393e327a281bd5833b">00039</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state_type</a>;
+<a name="l00040"></a>00040
+<a name="l00041"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">00041</a> <span class="keywordtype">void</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">operator()</a>(<span class="keyword">const</span> P&amp; p, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state_type</a>&amp; s)<span class="keyword"> const</span>
+<a name="l00042"></a>00042 <span class="keyword"> </span>{
+<a name="l00043"></a>00043 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(s.<a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a>, p);
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046 } <span class="comment">// namespace envelope</span>
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 } <span class="comment">// namespace strategy</span>
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B&gt;
+<a name="l00054"></a>00054 <span class="keyword">struct </span>strategy_envelope&lt;cartesian_tag, cartesian_tag, P, B&gt;
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">typedef</span> strategy::envelope::combine_xy&lt;P, B&gt; <a class="code" href="structggl_1_1strategy__envelope.html#3254d57340b4c3fc7ff081522627cbc2">type</a>;
+<a name="l00057"></a>00057 };
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span>
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 } <span class="comment">// namespace ggl</span>
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_ENVELOPE_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,82 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/cartesian/cart_side.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side&lt; P, PS &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1side.html">ggl::strategy::side</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,136 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/cartesian/cart_side.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_SIDE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_SIDE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="point__xy_8hpp.html">ggl/geometries/point_xy.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>strategy
+<a name="l00024"></a>00024 {
+<a name="l00025"></a><a class="code" href="namespaceggl_1_1strategy_1_1side.html">00025</a> <span class="keyword">namespace </span>side
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS&gt;
+<a name="l00029"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html">xy_side</a>
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="comment">// Check at which side of a segment a point lies:</span>
+<a name="l00033"></a>00033 <span class="comment">// left of segment (&gt; 0), right of segment (&lt; 0), on segment (0)</span>
+<a name="l00034"></a>00034 <span class="comment">// In fact this is twice the area of a triangle</span>
+<a name="l00035"></a>00035 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type&lt;P, PS&gt;::type</a>
+<a name="l00036"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">00036</a> <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, <span class="keyword">const</span> P&amp; p)
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type&lt;P, PS&gt;::type</a> T;
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="comment">// Todo: might be changed to subtract_point</span>
+<a name="l00041"></a>00041 T dx = get&lt;1, 0&gt;(s) - get&lt;0, 0&gt;(s);
+<a name="l00042"></a>00042 T dy = get&lt;1, 1&gt;(s) - get&lt;0, 1&gt;(s);
+<a name="l00043"></a>00043 T dpx = get&lt;0&gt;(p) - get&lt;0, 0&gt;(s);
+<a name="l00044"></a>00044 T dpy = get&lt;1&gt;(p) - get&lt;0, 1&gt;(s);
+<a name="l00045"></a>00045 <span class="keywordflow">return</span> dx * dpy - dy * dpx;
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048
+<a name="l00049"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#ef3dcea77c310bdd72a534539ef72edd">00049</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a>(<span class="keyword">const</span> P&amp; p0, <span class="keyword">const</span> P&amp; p1, <span class="keyword">const</span> P&amp; p2)
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;P&gt;::type</a> s = <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a>(<a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const P&gt;</a>(p0, p1), p2);
+<a name="l00052"></a>00052 <span class="keywordflow">return</span> s &gt; 0 ? 1 : s &lt; 0 ? -1 : 0;
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054 };
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 } <span class="comment">// namespace side</span>
+<a name="l00057"></a>00057 } <span class="comment">// namespace strategy</span>
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS&gt;
+<a name="l00062"></a>00062 <span class="keyword">struct </span>strategy_side&lt;cartesian_tag, P, PS&gt;
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="keyword">typedef</span> strategy::side::xy_side&lt;P, PS&gt; <a class="code" href="structggl_1_1strategy__side.html#ff01de1fab8079a9387be65b1b925428">type</a>;
+<a name="l00065"></a>00065 };
+<a name="l00066"></a>00066 <span class="preprocessor">#endif</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span>
+<a name="l00068"></a>00068 } <span class="comment">// namespace ggl</span>
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_SIDE_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/cartesian/cart_within.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; P, PS &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within detection using cross counting. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::strategy::within::franklin&lt; P, PS &gt;::crossings</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/cartesian/cart_within.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_WITHIN_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_WITHIN_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl
+<a name="l00019"></a>00019 {
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>strategy
+<a name="l00021"></a>00021 {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>
+<a name="l00023"></a>00023 {
+<a name="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS = P&gt;
+<a name="l00035"></a><a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html">00035</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html" title="Within detection using cross counting.">franklin</a>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">private</span> :
+<a name="l00039"></a>00039 <span class="keyword">struct </span>crossings
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 P p;
+<a name="l00042"></a>00042 <span class="keywordtype">bool</span> crosses;
+<a name="l00043"></a>00043 <span class="keyword">explicit</span> crossings(<span class="keyword">const</span> P&amp; ap)
+<a name="l00044"></a>00044 : p(ap)
+<a name="l00045"></a>00045 , crosses(<span class="keyword">false</span>)
+<a name="l00046"></a>00046 {}
+<a name="l00047"></a>00047 <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>()<span class="keyword"> const</span>
+<a name="l00048"></a>00048 <span class="keyword"> </span>{
+<a name="l00049"></a>00049 <span class="keywordflow">return</span> crosses;
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051 };
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">public</span> :
+<a name="l00054"></a>00054
+<a name="l00055"></a><a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">00055</a> <span class="keyword">typedef</span> crossings <a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a>;
+<a name="l00056"></a>00056
+<a name="l00057"></a><a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">00057</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">operator()</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, <a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a>&amp; state)<span class="keyword"> const</span>
+<a name="l00058"></a>00058 <span class="keyword"> </span>{
+<a name="l00059"></a>00059 <span class="comment">/* Algorithm:</span>
+<a name="l00060"></a>00060 <span class="comment"> if (</span>
+<a name="l00061"></a>00061 <span class="comment"> ( (y2 &lt;= py &amp;&amp; py &lt; y1)</span>
+<a name="l00062"></a>00062 <span class="comment"> || (y1 &lt;= py &amp;&amp; py &lt; y2) )</span>
+<a name="l00063"></a>00063 <span class="comment"> &amp;&amp; (px &lt; (x1 - x2)</span>
+<a name="l00064"></a>00064 <span class="comment"> * (py - y2)</span>
+<a name="l00065"></a>00065 <span class="comment"> / (y1 - y2) + x2)</span>
+<a name="l00066"></a>00066 <span class="comment"> )</span>
+<a name="l00067"></a>00067 <span class="comment"> crosses = ! crosses</span>
+<a name="l00068"></a>00068 <span class="comment"> */</span>
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keywordflow">if</span> (
+<a name="l00072"></a>00072 ((get&lt;1, 1&gt;(s) &lt;= get&lt;1&gt;(state.p) &amp;&amp; get&lt;1&gt;(state.p) &lt; get&lt;0, 1&gt;(s))
+<a name="l00073"></a>00073 || (get&lt;0, 1&gt;(s) &lt;= get&lt;1&gt;(state.p) &amp;&amp; get&lt;1&gt;(state.p) &lt; get&lt;1, 1&gt;(s)))
+<a name="l00074"></a>00074 &amp;&amp; (get&lt;0&gt;(state.p) &lt; (get&lt;0, 0&gt;(s) - get&lt;1, 0&gt;(s))
+<a name="l00075"></a>00075 * (get&lt;1&gt;(state.p) - get&lt;1, 1&gt;(s))
+<a name="l00076"></a>00076 / (get&lt;0, 1&gt;(s) - get&lt;1, 1&gt;(s)) + get&lt;1, 0&gt;(s))
+<a name="l00077"></a>00077 )
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 state.crosses = ! state.crosses;
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083 };
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 } <span class="comment">// namespace within</span>
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 } <span class="comment">// namespace strategy</span>
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 } <span class="comment">// namespace ggl</span>
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_WITHIN_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,91 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/cartesian2d.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef box&lt; point_2d &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0d9610ad977d0764a37b8e9f6ca94b30">ggl::box_2d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef nsphere&lt; point_2d, double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#311770c599e6440d3890b7ff4c651af6">ggl::circle</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef linestring&lt; point_2d &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#bd8e114c665e6cc6ea48e2e716eeedc2">ggl::linestring_2d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef point_xy&lt; double, <br class="typebreak">
+cs::cartesian &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#440bc7037bbf1ba7118d6952d71b8e00">ggl::point_2d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef polygon&lt; point_2d &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9b5c5324bc541d70c4ba3451be8a3365">ggl::polygon_2d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef linear_ring&lt; point_2d &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c40046fcbfc818fa12cc1e73e26e260b">ggl::ring_2d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef segment&lt; point_2d &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#51ce3d75ac1988b5ed73cb3598da522b">ggl::segment_2d</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,94 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/cartesian2d.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CARTESIAN2D_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CARTESIAN2D_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="comment">// Predeclare common Cartesian 2D points for convenience</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="geometries_8hpp.html">ggl/geometries/geometries.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
+<a name="l00017"></a>00017 {
+<a name="l00018"></a>00018
+<a name="l00019"></a><a class="code" href="namespaceggl.html#440bc7037bbf1ba7118d6952d71b8e00">00019</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy&lt;double, cs::cartesian&gt;</a> <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a>;
+<a name="l00020"></a><a class="code" href="namespaceggl.html#bd8e114c665e6cc6ea48e2e716eeedc2">00020</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&lt;point_2d&gt;</a> <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>;
+<a name="l00021"></a><a class="code" href="namespaceggl.html#c40046fcbfc818fa12cc1e73e26e260b">00021</a> <span class="keyword">typedef</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&lt;point_2d&gt;</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...">ring_2d</a>;
+<a name="l00022"></a><a class="code" href="namespaceggl.html#9b5c5324bc541d70c4ba3451be8a3365">00022</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon&lt;point_2d&gt;</a> <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon_2d</a>;
+<a name="l00023"></a><a class="code" href="namespaceggl.html#0d9610ad977d0764a37b8e9f6ca94b30">00023</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box&lt;point_2d&gt;</a> <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box_2d</a>;
+<a name="l00024"></a><a class="code" href="namespaceggl.html#51ce3d75ac1988b5ed73cb3598da522b">00024</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;point_2d&gt;</a> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment_2d</a>;
+<a name="l00025"></a><a class="code" href="namespaceggl.html#311770c599e6440d3890b7ff4c651af6">00025</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere&lt;point_2d, double&gt;</a> <a class="code" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">circle</a>;
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 } <span class="comment">// namespace ggl</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#endif // GGL_GEOMETRIES_CARTESIAN2D_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,89 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/cartesian3d.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef box&lt; point_3d &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#246b6f132ae46d37ab627fe899ca1122">ggl::box_3d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef linestring&lt; point_3d &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#3d956a540f1e8dda3d3d7bf8ca1d9ccf">ggl::linestring_3d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef point&lt; double, <br class="typebreak">
+3, cs::cartesian &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e7ead8472c5368638be291071e4e2a38">ggl::point_3d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef polygon&lt; point_3d &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#d83f4f521b6af4a82f6afb9af164305e">ggl::polygon_3d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef linear_ring&lt; point_3d &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#fd5b225988bbf3d618978942a9e61b18">ggl::ring_3d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef nsphere&lt; point_3d, double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#86293a2a12226b524f011818d22fbcaa">ggl::sphere</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,93 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/cartesian3d.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_CARTESIAN3D_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CARTESIAN3D_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="comment">// Predeclare common Cartesian 3D points for convenience</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="geometries_8hpp.html">ggl/geometries/geometries.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
+<a name="l00017"></a>00017 {
+<a name="l00018"></a><a class="code" href="namespaceggl.html#e7ead8472c5368638be291071e4e2a38">00018</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point&lt;double, 3, cs::cartesian&gt;</a> <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point_3d</a>;
+<a name="l00019"></a><a class="code" href="namespaceggl.html#3d956a540f1e8dda3d3d7bf8ca1d9ccf">00019</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&lt;point_3d&gt;</a> <a class="code" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring_3d</a>;
+<a name="l00020"></a><a class="code" href="namespaceggl.html#fd5b225988bbf3d618978942a9e61b18">00020</a> <span class="keyword">typedef</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&lt;point_3d&gt;</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...">ring_3d</a>;
+<a name="l00021"></a><a class="code" href="namespaceggl.html#d83f4f521b6af4a82f6afb9af164305e">00021</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon&lt;point_3d&gt;</a> <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon_3d</a>;
+<a name="l00022"></a><a class="code" href="namespaceggl.html#246b6f132ae46d37ab627fe899ca1122">00022</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box&lt;point_3d&gt;</a> <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box_3d</a>;
+<a name="l00023"></a>00023
+<a name="l00024"></a><a class="code" href="namespaceggl.html#86293a2a12226b524f011818d22fbcaa">00024</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere&lt;point_3d, double&gt;</a> <a class="code" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">sphere</a>;
+<a name="l00025"></a>00025 }
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#endif // GGL_CARTESIAN3D_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid_polygon.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid_ring.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/circular__iterator_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/circular__iterator_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/circular_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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1circular__iterator.html">ggl::circular_iterator&lt; Iterator &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator which goes circular through a range, starting at a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, ending at that <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/circular__iterator_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/circular__iterator_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,150 @@
+<!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">
+&nbsp;&nbsp;
+</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/circular_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 <span class="preprocessor">#ifndef GGL_ITERATORS_CIRCULAR_ITERATOR_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ITERATORS_CIRCULAR_ITERATOR_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/iterator.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/iterator/iterator_adaptor.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/iterator/iterator_categories.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="base_8hpp.html">ggl/iterators/base.hpp</a>&gt;</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="l00026"></a>00026 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Iterator&gt;
+<a name="l00027"></a><a class="code" href="structggl_1_1circular__iterator.html">00027</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1circular__iterator.html" title="Iterator which goes circular through a range, starting at a point, ending at that...">circular_iterator</a> :
+<a name="l00028"></a>00028 <span class="keyword">public</span> detail::iterators::iterator_base
+<a name="l00029"></a>00029 &lt;
+<a name="l00030"></a>00030 circular_iterator&lt;Iterator&gt;,
+<a name="l00031"></a>00031 Iterator
+<a name="l00032"></a>00032 &gt;
+<a name="l00033"></a>00033 {
+<a name="l00034"></a><a class="code" href="structggl_1_1circular__iterator.html#c09f73e325921cc50ebcd96bed0f8096">00034</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="structggl_1_1circular__iterator.html#c09f73e325921cc50ebcd96bed0f8096">boost::iterator_core_access</a>;
+<a name="l00035"></a>00035
+<a name="l00036"></a><a class="code" href="structggl_1_1circular__iterator.html#be1c3556eefbae4d3dee51925873bace">00036</a> <span class="keyword">explicit</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1circular__iterator.html#be1c3556eefbae4d3dee51925873bace">circular_iterator</a>(Iterator begin, Iterator end, Iterator start)
+<a name="l00037"></a>00037 : m_begin(begin)
+<a name="l00038"></a>00038 , m_end(end)
+<a name="l00039"></a>00039 , m_start(start)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 this-&gt;base_reference() = start;
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="comment">// Constructor to indicate the end of a range, to enable e.g. std::copy</span>
+<a name="l00045"></a><a class="code" href="structggl_1_1circular__iterator.html#1ebd24f5827f4019967ab05c5aee4e0b">00045</a> <span class="keyword">explicit</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1circular__iterator.html#be1c3556eefbae4d3dee51925873bace">circular_iterator</a>(Iterator end)
+<a name="l00046"></a>00046 : m_begin(end)
+<a name="l00047"></a>00047 , m_end(end)
+<a name="l00048"></a>00048 , m_start(end)
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 this-&gt;base_reference() = end;
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052
+<a name="l00055"></a><a class="code" href="structggl_1_1circular__iterator.html#7bf49b36a96ab752a363b620bef96d78">00055</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="structggl_1_1circular__iterator.html#7bf49b36a96ab752a363b620bef96d78">moveto</a>(Iterator it)
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 this-&gt;base_reference() = it;
+<a name="l00058"></a>00058 check_end();
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keyword">private</span>:
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keyword">inline</span> <span class="keywordtype">void</span> increment()
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keywordflow">if</span> (this-&gt;base() != m_end)
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 (this-&gt;base_reference())++;
+<a name="l00068"></a>00068 check_end();
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">inline</span> <span class="keywordtype">void</span> check_end()
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keywordflow">if</span> (this-&gt;base() == this-&gt;m_end)
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 this-&gt;base_reference() = this-&gt;m_begin;
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="keywordflow">if</span> (this-&gt;base() == m_start)
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 this-&gt;base_reference() = this-&gt;m_end;
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083 }
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 Iterator m_begin;
+<a name="l00086"></a>00086 Iterator m_end;
+<a name="l00087"></a>00087 Iterator m_start;
+<a name="l00088"></a>00088 };
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 } <span class="comment">// namespace ggl</span>
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="preprocessor">#endif // GGL_ITERATORS_CIRCULAR_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/class_point_list.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/class_point_list.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,73 @@
+<!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">
+&nbsp;&nbsp;
+</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>PointList Class Reference</h1><!-- doxytag: class="PointList" -->Inherited by <a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring&lt; Point, PointList, PointAlloc &gt;</a>.
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classcore__dispatch_1_1dimension.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classcore__dispatch_1_1dimension.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,77 @@
+<!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">
+&nbsp;&nbsp;
+</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>dimension Class Reference</h1><!-- doxytag: class="core_dispatch::dimension" -->Inherited by <a class="el" href="structggl_1_1dimension.html">ggl::dimension&lt; P &gt;</a>.
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<dl compact><dt><b>Examples: </b></dt><dd>
+
+<p>
+<a class="el" href="c05__custom__point__pointer__example_8cpp-example.html#_a0">c05_custom_point_pointer_example.cpp</a>.</dl></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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classes.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classes.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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>Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_L">L</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_W">W</a>&nbsp;|&nbsp;<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">&nbsp;&nbsp;A&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1ring__type.html">ring_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1geographic__tag.html">geographic_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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&lt; ggl::detail::intersect
ion::intersection_point&lt; P &gt; &gt;</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1geometry__collection__tag.html">geometry_collection_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1area__result.html">area_result</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1geometry__id.html">geometry_id</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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&lt; P
1, P2, 2, 2 &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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&lt; P1, P2, 3, 3 &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1section.html">section</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1sections.html">sections</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;H&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1segment.html">segment</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1box.html">box</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1box__tag.html">box_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1segment__identifier.html">segment_identifier</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1segment__intersection__points.html">segment_intersection_points</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1segment__tag.html">segment_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1interior__type.html">interior_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1cartesian__tag.html">cartesian_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1is__linear.html">is_linear</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1is__multi.html">is_multi</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1circular__iterator.html">circular_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1is__radian.html">is_radian</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;L&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1less.html">less</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html">shifted&lt; degree &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1linear__ring.html">linear_ring</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">shifted&lt; radian &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1linestring.html">linestring</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1spherical__tag.html">spherical_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1linestring__tag.html">linestring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__centroid.html">strategy_centroid</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1coordinate__system.html">coordinate_system</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1multi__linestring.html">multi_linestring</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&
nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__compare.html">strategy_compare</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1multi__linestring__tag.html">multi_linestring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__convex__hull.html">strategy_convex_hull</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a cla
ss="el" href="structggl_1_1multi__point.html">multi_point</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__distance.html">strategy_distance</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1multi__point__tag.html">multi_point_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__distance__segment.html">strategy_distance_segment</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a> (<a class="e
l" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1multi__polygon.html">multi_polygon</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__envelope.html">strategy_envelope</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1multi__polygon__tag.html">multi_polygon_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__parse.html">strategy_parse</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__tag.html">strategy_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1cs__tag.html">cs_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1nsphere.html">nsphere</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1de9im.html">de9im</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1nsphere__tag.html">nsphere_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1de9im
__segment.html">de9im_segment</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1degree.html">degree</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1point.html">point</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__tag__unknown.html">strategy_tag_unknown</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;<
/td><td><a class="el" href="structggl_1_1strategy__transform.html">strategy_transform</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1point__const__iterator.html">point_const_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__within.html">strategy_within</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1point__tag.html">point_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;<
/td><td><a class="el" href="classggl_1_1svg__manipulator.html">svg_manipulator</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1dimension.html">dimension</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classcore__dispatch_1_1dimension.html">core_dispatch::dimension</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1point__type.html">point_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1point__xy.html">point_xy</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1tag.html">tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_point_list.html">PointList</a>&nbsp;&nbsp;&nbsp;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1distance__result.html">distance_result</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1topological__dimension.html">topological_dimension</a> (<a class="el" href="namespaceggl.html">ggl</a>)&n
bsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1polygon.html">polygon</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1dsv__manipulator.html">dsv_manipulator</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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&lt; P1, P2, 2, 2 &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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&lt; P1, P2, 3, 3 &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;U&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1exception.html">exception</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1radian.html">radian</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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&lt; P1, P2, 2, 2 &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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&lt; P1, P2, 3, 2 &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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&lt; P1, P2, 3, 3 &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1radius__type.html">radius_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1replace__point__type.html">replace_point_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;W&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1reverse__dispatch.html">reverse_dispatch</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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
>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_X"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;X&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1ring__tag.html">ring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;G&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</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>)&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_L">L</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>
&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_W">W</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_X">X</a></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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::box&lt; P &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#40a32b03ef937f268b28716cd3a19ff4">box</a>()</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#c7888e7869f90177bbc524467fa9e6c4">box</a>(P const &amp;min_corner, P const &amp;max_corner)</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#ad3ec53ea62b0bfa3cb897cea62ea0f0">max_corner</a>() const </td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#1c19e1959ea3c4e02dd80d4ee4fca2af">max_corner</a>()</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">min_corner</a>() const </td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#437ec3e1792291376892b682d3406af9">min_corner</a>()</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1box.html">box</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::box&lt; P &gt; Class Template Reference</h1><!-- doxytag: class="ggl::box" -->Class <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>: defines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> made of two describing points.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#c7888e7869f90177bbc524467fa9e6c4">box</a> (P const &amp;min_corner, P const &amp;max_corner)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor taking the minimum corner <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> and the maximum corner <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#40a32b03ef937f268b28716cd3a19ff4">box</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">P &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#1c19e1959ea3c4e02dd80d4ee4fca2af">max_corner</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">P const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#ad3ec53ea62b0bfa3cb897cea62ea0f0">max_corner</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">P &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#437ec3e1792291376892b682d3406af9">min_corner</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">P const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">min_corner</a> () const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ class ggl::box&lt; P &gt;</h3>
+
+Class <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>: defines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> made of two describing points.
+<p>
+Box is always described by a <a class="el" href="classggl_1_1box.html#437ec3e1792291376892b682d3406af9">min_corner()</a> and a <a class="el" href="classggl_1_1box.html#1c19e1959ea3c4e02dd80d4ee4fca2af">max_corner()</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. If another rectangle is used, use <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> or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>. <dl class="note" compact><dt><b>Note:</b></dt><dd>Boxes are for selections and for calculating the envelope of geometries. Not all algorithms are implemented for <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>. Boxes are also used in Spatial Indexes. </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>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type. The <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> takes a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type as template parameter. The <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type can be any <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type. It can be 2D but can also be 3D or more dimensional. The <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> can also take a latlong <a class="el" href="classggl_1_1point.html" title="Basic point cl
ass, having coordinates defined in a neutral way.">point</a> type as template parameter. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+
+<p>
+<a class="el" href="02__linestring__example_8cpp-example.html#_a6">02_linestring_example.cpp</a>, <a class="el" href="03__polygon__example_8cpp-example.html#_a4">03_polygon_example.cpp</a>, <a class="el" href="07__graph__route__example_8cpp-example.html#_a10">07_graph_route_example.cpp</a>, and <a class="el" href="c05__custom__point__pointer__example_8cpp-example.html#_a2">c05_custom_point_pointer_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00035">35</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="40a32b03ef937f268b28716cd3a19ff4"></a><!-- doxytag: member="ggl::box::box" ref="40a32b03ef937f268b28716cd3a19ff4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; P &gt;::<a class="el" href="classggl_1_1box.html">box</a> </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00041">41</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c7888e7869f90177bbc524467fa9e6c4"></a><!-- doxytag: member="ggl::box::box" ref="c7888e7869f90177bbc524467fa9e6c4" args="(P const &amp;min_corner, P const &amp;max_corner)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; P &gt;::<a class="el" href="classggl_1_1box.html">box</a> </td>
+ <td>(</td>
+ <td class="paramtype">P const &amp;&nbsp;</td>
+ <td class="paramname"> <em>min_corner</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P const &amp;&nbsp;</td>
+ <td class="paramname"> <em>max_corner</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor taking the minimum corner <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> and the maximum corner <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
+<p>
+
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00046">46</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="47f607c06a2a5432eac75d8bd5cf4a61"></a><!-- doxytag: member="ggl::box::min_corner" ref="47f607c06a2a5432eac75d8bd5cf4a61" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">P const&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; P &gt;::min_corner </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00052">52</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ad3ec53ea62b0bfa3cb897cea62ea0f0"></a><!-- doxytag: member="ggl::box::max_corner" ref="ad3ec53ea62b0bfa3cb897cea62ea0f0" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">P const&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; P &gt;::max_corner </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00053">53</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="437ec3e1792291376892b682d3406af9"></a><!-- doxytag: member="ggl::box::min_corner" ref="437ec3e1792291376892b682d3406af9" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">P&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; P &gt;::min_corner </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00055">55</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="1c19e1959ea3c4e02dd80d4ee4fca2af"></a><!-- doxytag: member="ggl::box::max_corner" ref="1c19e1959ea3c4e02dd80d4ee4fca2af" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">P&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; P &gt;::max_corner </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00056">56</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::centroid_exception Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1centroid__exception.html">ggl::centroid_exception</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">centroid_exception</a>()</td><td><a class="el" href="classggl_1_1centroid__exception.html">ggl::centroid_exception</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1centroid__exception.html#bff3b7df94389d48e50390a95dbbde7f">what</a>() const </td><td><a class="el" href="classggl_1_1centroid__exception.html">ggl::centroid_exception</a></td><td><code> [virtual]</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,129 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1centroid__exception.html">centroid_exception</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::centroid_exception Class Reference</h1><!-- doxytag: class="ggl::centroid_exception" --><!-- doxytag: inherits="ggl::exception" -->Inherits <a class="el" href="structggl_1_1exception.html">ggl::exception</a>.
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">centroid_exception</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual char const *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1centroid__exception.html#bff3b7df94389d48e50390a95dbbde7f">what</a> () const throw ()</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00048">48</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="60598437eea82fd35bffdbcac8d4b839"></a><!-- doxytag: member="ggl::centroid_exception::centroid_exception" ref="60598437eea82fd35bffdbcac8d4b839" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ggl::centroid_exception::centroid_exception </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00052">52</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="bff3b7df94389d48e50390a95dbbde7f"></a><!-- doxytag: member="ggl::centroid_exception::what" ref="bff3b7df94389d48e50390a95dbbde7f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual char const* ggl::centroid_exception::what </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const throw ()<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00054">54</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1degree.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1degree.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,82 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1degree.html">degree</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::degree Class Reference<br>
+<small>
+[<a class="el" href="group__cs.html">coordinate systems</a>]</small>
+</h1><!-- doxytag: class="ggl::degree" -->Unit of plan angles: degrees.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Unit of plan angles: degrees.
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00033">33</a> of file <a class="el" href="cs_8hpp_source.html">cs.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::dsv_manipulator&lt; Geometry &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1dsv__manipulator.html">ggl::dsv_manipulator&lt; Geometry &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1dsv__manipulator.html#5bbe82845f3e20b44d2b75cc8faebf43">dsv_manipulator</a>(Geometry const &amp;g, detail::dsv::dsv_settings const &amp;settings)</td><td><a class="el" href="classggl_1_1dsv__manipulator.html">ggl::dsv_manipulator&lt; Geometry &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1dsv__manipulator.html#5aa709742f33df7007f70baffcfc0d48">operator&lt;&lt;</a>(std::basic_ostream&lt; Char, Traits &gt; &amp;os, dsv_manipulator const &amp;m)</td><td><a class="el" href="classggl_1_1dsv__manipulator.html">ggl::dsv_manipulator&lt; Geometry &gt;</a></td><td><code> [friend]</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,166 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1dsv__manipulator.html">dsv_manipulator</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::dsv_manipulator&lt; Geometry &gt; Class Template Reference</h1><!-- doxytag: class="ggl::dsv_manipulator" -->Generic geometry template manipulator class, takes corresponding output class from <a class="el" href="namespaceggl_1_1traits.html">traits</a> class.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1dsv__manipulator.html#5bbe82845f3e20b44d2b75cc8faebf43">dsv_manipulator</a> (Geometry const &amp;g, detail::dsv::dsv_settings const &amp;settings)</td></tr>
+
+<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Char , typename Traits &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::basic_ostream&lt; Char, <br class="typebreak">
+Traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1dsv__manipulator.html#5aa709742f33df7007f70baffcfc0d48">operator&lt;&lt;</a> (std::basic_ostream&lt; Char, Traits &gt; &amp;os, <a class="el" href="classggl_1_1dsv__manipulator.html">dsv_manipulator</a> const &amp;m)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ class ggl::dsv_manipulator&lt; Geometry &gt;</h3>
+
+Generic geometry template manipulator class, takes corresponding output class from <a class="el" href="namespaceggl_1_1traits.html">traits</a> class.
+<p>
+Stream manipulator, streams geometry classes as <a class="el" href="dsv.html">DSV</a> streams <dl class="user" compact><dt><b>Example:</b></dt><dd>Small example showing how to use the dsv class <div class="fragment"><pre class="fragment"></pre></div> </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>the template parameter must be specified. If that is inconvient, users might use streamdsv which streams geometries as manipulators, or the object generator make_dsv </dd></dl>
+
+<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00320">320</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="5bbe82845f3e20b44d2b75cc8faebf43"></a><!-- doxytag: member="ggl::dsv_manipulator::dsv_manipulator" ref="5bbe82845f3e20b44d2b75cc8faebf43" args="(Geometry const &amp;g, detail::dsv::dsv_settings const &amp;settings)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1dsv__manipulator.html">ggl::dsv_manipulator</a>&lt; Geometry &gt;::<a class="el" href="classggl_1_1dsv__manipulator.html">dsv_manipulator</a> </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>g</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">detail::dsv::dsv_settings const &amp;&nbsp;</td>
+ <td class="paramname"> <em>settings</em></td><td>&nbsp;</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="write__dsv_8hpp_source.html#l00324">324</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="5aa709742f33df7007f70baffcfc0d48"></a><!-- doxytag: member="ggl::dsv_manipulator::operator&lt;&lt;" ref="5aa709742f33df7007f70baffcfc0d48" args="(std::basic_ostream&lt; Char, Traits &gt; &amp;os, dsv_manipulator const &amp;m)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry&gt; </div>
+<div class="memtemplate">
+template&lt;typename Char , typename Traits &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">std::basic_ostream&lt;Char, Traits&gt;&amp; operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">std::basic_ostream&lt; Char, Traits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classggl_1_1dsv__manipulator.html">dsv_manipulator</a>&lt; Geometry &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [friend]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00331">331</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,69 @@
+<!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">
+&nbsp;&nbsp;
+</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::linear_ring&lt; P, V, A &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring&lt; P, V, A &gt;</a>, including all inherited members.<p><table>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,96 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1linear__ring.html">linear_ring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::linear_ring&lt; P, V, A &gt; 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.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, template&lt; typename, typename &gt; class V = std::vector, template&lt; typename &gt; class A = std::allocator&gt;<br>
+ class ggl::linear_ring&lt; P, V, A &gt;</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>
+<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>&nbsp;</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>V</em>&nbsp;</td><td>optional container type, for example std::vector, std::list, std::deque </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>A</em>&nbsp;</td><td>optional container-allocator-type </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+
+<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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linestring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linestring-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,69 @@
+<!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">
+&nbsp;&nbsp;
+</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::linestring&lt; P, V, A &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1linestring.html">ggl::linestring&lt; P, V, A &gt;</a>, including all inherited members.<p><table>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linestring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linestring.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,97 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1linestring.html">linestring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::linestring&lt; P, V, A &gt; Class Template Reference</h1><!-- doxytag: class="ggl::linestring" -->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.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, template&lt; typename, typename &gt; class V = std::vector, template&lt; typename &gt; class A = std::allocator&gt;<br>
+ class ggl::linestring&lt; P, V, A &gt;</h3>
+
+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.
+<p>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</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>V</em>&nbsp;</td><td>optional container type, for example std::vector, std::list, std::deque </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>A</em>&nbsp;</td><td>optional container-allocator-type (see http://accu.org/index.php/journals/427#ftn.d0e249 ) </td></tr>
+ </table>
+</dl>
+<dl class="user" compact><dt><b>Concepts:</b></dt><dd>All algorithms work on ranges, based on a container with <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> types fulfilling the <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> concepts. They will take <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>, but also vector, std::pair, or other containers. </dd></dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+
+<p>
+<a class="el" href="02__linestring__example_8cpp-example.html#_a1">02_linestring_example.cpp</a>, and <a class="el" href="07__graph__route__example_8cpp-example.html#_a9">07_graph_route_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="linestring_8hpp_source.html#l00044">44</a> of file <a class="el" href="linestring_8hpp_source.html">linestring.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1nsphere-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1nsphere-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,77 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::nsphere&lt; P, T &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere&lt; P, T &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#3f6b59190ffcbc30cbcac55073915674">center</a>() const </td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere&lt; P, T &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#8fd5bf72f746c27b7ca1514dc08813ac">center</a>()</td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere&lt; P, T &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#a3595c7d5427261600efdc0e37ded8bb">coordinate_type</a> typedef</td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere&lt; P, T &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#43ce9d06cc8e93f8be4e886e6f468fd6">nsphere</a>()</td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere&lt; P, T &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#61e86fe7d652555d72d024fdf1903ee6">nsphere</a>(P const &amp;center, T const &amp;radius)</td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere&lt; P, T &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#45501ded4a12c89b95598ca131fc1caa">radius</a>() const </td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere&lt; P, T &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#7cedc453e69b1cd38276d4b906cc29f5">radius</a>(T const &amp;r)</td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere&lt; P, T &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#9027e4f6129198cd158727edda7ee4eb">radius_type</a> typedef</td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere&lt; P, T &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1nsphere.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1nsphere.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,301 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1nsphere.html">nsphere</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::nsphere&lt; P, T &gt; Class Template Reference</h1><!-- doxytag: class="ggl::nsphere" -->Class <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a>: defines a circle or a sphere: a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> with radius.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; P &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#a3595c7d5427261600efdc0e37ded8bb">coordinate_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#9027e4f6129198cd158727edda7ee4eb">radius_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">P &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#8fd5bf72f746c27b7ca1514dc08813ac">center</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">P const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#3f6b59190ffcbc30cbcac55073915674">center</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#61e86fe7d652555d72d024fdf1903ee6">nsphere</a> (P const &amp;center, T const &amp;radius)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#43ce9d06cc8e93f8be4e886e6f468fd6">nsphere</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#7cedc453e69b1cd38276d4b906cc29f5">radius</a> (T const &amp;r)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">T const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#45501ded4a12c89b95598ca131fc1caa">radius</a> () const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, typename T&gt;<br>
+ class ggl::nsphere&lt; P, T &gt;</h3>
+
+Class <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a>: defines a circle or a sphere: a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> with radius.
+<p>
+The name <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> is quite funny but the best description of the class. It can be a circle (2D), a sphere (3D), or higher (hypersphere) or lower. According to Wikipedia this name is the most appropriate. It was mentioned on the Boost list. An alternative is the more fancy name "sphercle" but that might be a bit too much an invention. <dl class="note" compact><dt><b>Note:</b></dt><dd>Circle is currently used for selections, for example polygon_in_circle. Currently not all algorithms are implemented for n-spheres. </dd></dl>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of the center </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>number type of the radius </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00035">35</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="9027e4f6129198cd158727edda7ee4eb"></a><!-- doxytag: member="ggl::nsphere::radius_type" ref="9027e4f6129198cd158727edda7ee4eb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef T <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>&lt; P, T &gt;::<a class="el" href="structggl_1_1radius__type.html">radius_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00041">41</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a3595c7d5427261600efdc0e37ded8bb"></a><!-- doxytag: member="ggl::nsphere::coordinate_type" ref="a3595c7d5427261600efdc0e37ded8bb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt;P&gt;::type <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>&lt; P, T &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00042">42</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="43ce9d06cc8e93f8be4e886e6f468fd6"></a><!-- doxytag: member="ggl::nsphere::nsphere" ref="43ce9d06cc8e93f8be4e886e6f468fd6" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>&lt; P, T &gt;::<a class="el" href="classggl_1_1nsphere.html">nsphere</a> </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00044">44</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="61e86fe7d652555d72d024fdf1903ee6"></a><!-- doxytag: member="ggl::nsphere::nsphere" ref="61e86fe7d652555d72d024fdf1903ee6" args="(P const &amp;center, T const &amp;radius)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>&lt; P, T &gt;::<a class="el" href="classggl_1_1nsphere.html">nsphere</a> </td>
+ <td>(</td>
+ <td class="paramtype">P const &amp;&nbsp;</td>
+ <td class="paramname"> <em>center</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>radius</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00050">50</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="3f6b59190ffcbc30cbcac55073915674"></a><!-- doxytag: member="ggl::nsphere::center" ref="3f6b59190ffcbc30cbcac55073915674" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">P const&amp; <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>&lt; P, T &gt;::center </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00056">56</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="45501ded4a12c89b95598ca131fc1caa"></a><!-- doxytag: member="ggl::nsphere::radius" ref="45501ded4a12c89b95598ca131fc1caa" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">T const&amp; <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>&lt; P, T &gt;::radius </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00057">57</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="7cedc453e69b1cd38276d4b906cc29f5"></a><!-- doxytag: member="ggl::nsphere::radius" ref="7cedc453e69b1cd38276d4b906cc29f5" args="(T const &amp;r)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>&lt; P, T &gt;::radius </td>
+ <td>(</td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>r</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00059">59</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="8fd5bf72f746c27b7ca1514dc08813ac"></a><!-- doxytag: member="ggl::nsphere::center" ref="8fd5bf72f746c27b7ca1514dc08813ac" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">P&amp; <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>&lt; P, T &gt;::center </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00060">60</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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&lt; T, D, C &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1point.html">ggl::point&lt; T, D, C &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1point.html#b25e04c9eb7bf3dbc6ee17a27423e7d6">coordinate_count</a></td><td><a class="el" href="classggl_1_1point.html">ggl::point&lt; T, D, C &gt;</a></td><td><code> [static]</code></td></tr>
+ <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&lt; T, D, C &gt;</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&lt; T, D, C &gt;</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&lt; T, D, C &gt;</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&lt; T, D, C &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1point.html#18fecbb13a7e7fe65b42ee624a7b6834">point</a>(T const &amp;v0, T const &amp;v1=0, T const &amp;v2=0)</td><td><a class="el" href="classggl_1_1point.html">ggl::point&lt; T, D, C &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1point.html#f84fee80a5505841b275b1c3f9bc7ddf">set</a>(T value)</td><td><a class="el" href="classggl_1_1point.html">ggl::point&lt; T, D, C &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,298 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1point.html">point</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::point&lt; T, D, C &gt; Class Template Reference</h1><!-- doxytag: class="ggl::point" -->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...
+<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 C&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point.html#e3cedeca07933bd026e910ee8bb4547b">coordinate_system</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point.html#114e475fd2f5f30fac7f60ef732dd402">coordinate_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t K&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T const &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1point.html#1feea795639ff3f2d985cc9ca32d2f9e">get</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compile time access to coordinate values. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point.html#18fecbb13a7e7fe65b42ee624a7b6834">point</a> (T const &amp;v0, T const &amp;v1=0, T const &amp;v2=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs with one, or optionally two or three values. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point.html#526fb447a893414486fa85caa170cdbf">point</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor, no initialization at all. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t K&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1point.html#f84fee80a5505841b275b1c3f9bc7ddf">set</a> (T value)</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 std::size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point.html#b25e04c9eb7bf3dbc6ee17a27423e7d6">coordinate_count</a> = D</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T, std::size_t D, typename C&gt;<br>
+ class ggl::point&lt; T, D, C &gt;</h3>
+
+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.
+<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>T</em>&nbsp;</td><td>numeric type, for example double, float, int </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>D</em>&nbsp;</td><td>coordinate <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> as number of coordinates, for example 2 </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>coordinate system, for example <a class="el" href="structggl_1_1cs_1_1cartesian.html" title="Cartesian coordinate system.">cs::cartesian</a> </td></tr>
+ </table>
+</dl>
+<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>
+<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="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, std::size_t D, typename C&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef T <a class="el" href="classggl_1_1point.html">ggl::point</a>&lt; T, D, C &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point_8hpp_source.html#l00039">39</a> of file <a class="el" href="point_8hpp_source.html">point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e3cedeca07933bd026e910ee8bb4547b"></a><!-- doxytag: member="ggl::point::coordinate_system" ref="e3cedeca07933bd026e910ee8bb4547b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, std::size_t D, typename C&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef C <a class="el" href="classggl_1_1point.html">ggl::point</a>&lt; T, D, C &gt;::<a class="el" href="structggl_1_1coordinate__system.html">coordinate_system</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point_8hpp_source.html#l00040">40</a> of file <a class="el" href="point_8hpp_source.html">point.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="526fb447a893414486fa85caa170cdbf"></a><!-- doxytag: member="ggl::point::point" ref="526fb447a893414486fa85caa170cdbf" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, std::size_t D, typename C&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1point.html">ggl::point</a>&lt; T, D, C &gt;::<a class="el" href="classggl_1_1point.html">point</a> </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Default constructor, no initialization at all.
+<p>
+
+<p>Definition at line <a class="el" href="point_8hpp_source.html#l00045">45</a> of file <a class="el" href="point_8hpp_source.html">point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="18fecbb13a7e7fe65b42ee624a7b6834"></a><!-- doxytag: member="ggl::point::point" ref="18fecbb13a7e7fe65b42ee624a7b6834" args="(T const &amp;v0, T const &amp;v1=0, T const &amp;v2=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, std::size_t D, typename C&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1point.html">ggl::point</a>&lt; T, D, C &gt;::<a class="el" href="classggl_1_1point.html">point</a> </td>
+ <td>(</td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>v0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>v2</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructs with one, or optionally two or three values.
+<p>
+
+<p>Definition at line <a class="el" href="point_8hpp_source.html#l00049">49</a> of file <a class="el" href="point_8hpp_source.html">point.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="1feea795639ff3f2d985cc9ca32d2f9e"></a><!-- doxytag: member="ggl::point::get" ref="1feea795639ff3f2d985cc9ca32d2f9e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, std::size_t D, typename C&gt; </div>
+<div class="memtemplate">
+template&lt;std::size_t K&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">T const&amp; <a class="el" href="classggl_1_1point.html">ggl::point</a>&lt; T, D, C &gt;::get </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Compile time access to coordinate values.
+<p>
+
+<p>Definition at line <a class="el" href="point_8hpp_source.html#l00059">59</a> of file <a class="el" href="point_8hpp_source.html">point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="f84fee80a5505841b275b1c3f9bc7ddf"></a><!-- doxytag: member="ggl::point::set" ref="f84fee80a5505841b275b1c3f9bc7ddf" args="(T value)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, std::size_t D, typename C&gt; </div>
+<div class="memtemplate">
+template&lt;std::size_t K&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classggl_1_1point.html">ggl::point</a>&lt; T, D, C &gt;::set </td>
+ <td>(</td>
+ <td class="paramtype">T&nbsp;</td>
+ <td class="paramname"> <em>value</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point_8hpp_source.html#l00066">66</a> of file <a class="el" href="point_8hpp_source.html">point.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="b25e04c9eb7bf3dbc6ee17a27423e7d6"></a><!-- doxytag: member="ggl::point::coordinate_count" ref="b25e04c9eb7bf3dbc6ee17a27423e7d6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, std::size_t D, typename C&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const std::size_t <a class="el" href="classggl_1_1point.html">ggl::point</a>&lt; T, D, C &gt;::<a class="el" href="classggl_1_1point.html#b25e04c9eb7bf3dbc6ee17a27423e7d6">coordinate_count</a> = D<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point_8hpp_source.html#l00042">42</a> of file <a class="el" href="point_8hpp_source.html">point.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_xy&lt; T, C &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1point__xy.html">ggl::point_xy&lt; T, C &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1point.html#b25e04c9eb7bf3dbc6ee17a27423e7d6">coordinate_count</a></td><td><a class="el" href="classggl_1_1point.html">ggl::point&lt; T, 2, C &gt;</a></td><td><code> [static]</code></td></tr>
+ <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&lt; T, 2, C &gt;</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&lt; T, 2, C &gt;</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&lt; T, 2, C &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1point__xy.html#3c5f9d94906145cc473019b8eaf66e7d">operator&lt;</a>(point_xy const &amp;other) const </td><td><a class="el" href="classggl_1_1point__xy.html">ggl::point_xy&lt; T, C &gt;</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&lt; T, 2, C &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1point.html#18fecbb13a7e7fe65b42ee624a7b6834">point</a>(Tconst &amp;v0, Tconst &amp;v1=0, Tconst &amp;v2=0)</td><td><a class="el" href="classggl_1_1point.html">ggl::point&lt; T, 2, C &gt;</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&lt; T, C &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1point__xy.html#844ec61e1186e2bb423a26c01e9a72d6">point_xy</a>(T const &amp;x, T const &amp;y)</td><td><a class="el" href="classggl_1_1point__xy.html">ggl::point_xy&lt; T, C &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1point.html#f84fee80a5505841b275b1c3f9bc7ddf">set</a>(Tvalue)</td><td><a class="el" href="classggl_1_1point.html">ggl::point&lt; T, 2, C &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272">x</a>() const </td><td><a class="el" href="classggl_1_1point__xy.html">ggl::point_xy&lt; T, C &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1point__xy.html#b5fc7b83537aea3f46dffd562aea0bbf">x</a>(T const &amp;v)</td><td><a class="el" href="classggl_1_1point__xy.html">ggl::point_xy&lt; T, C &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f">y</a>() const </td><td><a class="el" href="classggl_1_1point__xy.html">ggl::point_xy&lt; T, C &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1point__xy.html#28f49fc68898e678390593fb73afd7c6">y</a>(T const &amp;v)</td><td><a class="el" href="classggl_1_1point__xy.html">ggl::point_xy&lt; T, C &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,310 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1point__xy.html">point_xy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::point_xy&lt; T, C &gt; Class Template Reference</h1><!-- doxytag: class="ggl::point_xy" --><!-- doxytag: inherits="point&lt; T, 2, C &gt;" -->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
+More...
+<p>
+Inherits <a class="el" href="classggl_1_1point.html">point&lt; T, 2, C &gt;</a>.
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point__xy.html#3c5f9d94906145cc473019b8eaf66e7d">operator&lt;</a> (<a class="el" href="classggl_1_1point__xy.html">point_xy</a> const &amp;other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two points. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point__xy.html#844ec61e1186e2bb423a26c01e9a72d6">point_xy</a> (T const &amp;x, T const &amp;y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor with x/y values. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point__xy.html#1accd1e9e84fdf9cf8d9da084d239167">point_xy</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor, does not initialize anything. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point__xy.html#b5fc7b83537aea3f46dffd562aea0bbf">x</a> (T const &amp;v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set x-value. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">T const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272">x</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get x-value. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point__xy.html#28f49fc68898e678390593fb73afd7c6">y</a> (T const &amp;v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set y-value. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">T const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f">y</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get y-value. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T, typename C = cs::cartesian&gt;<br>
+ class ggl::point_xy&lt; T, C &gt;</h3>
+
+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
+<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>T</em>&nbsp;</td><td>numeric type, arguments can be, for example, double, float, int </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+
+<p>
+<a class="el" href="01__point__example_8cpp-example.html#_a0">01_point_example.cpp</a>, <a class="el" href="02__linestring__example_8cpp-example.html#_a2">02_linestring_example.cpp</a>, <a class="el" href="03__polygon__example_8cpp-example.html#_a7">03_polygon_example.cpp</a>, <a class="el" href="06__transformation__example_8cpp-example.html#_a0">06_transformation_example.cpp</a>, <a class="el" href="07__graph__route__example_8cpp-example.html#_a12">07_graph_route_example.cpp</a>, <a class="el" href="c04__a__custom__triangle__example_8cpp-example.html#_a3">c04_a_custom_triangle_example.cpp</a>, and <a class="el" href="c05__custom__point__pointer__example_8cpp-example.html#_a3">c05_custom_point_pointer_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="point__xy_8hpp_source.html#l00028">28</a> of file <a class="el" href="point__xy_8hpp_source.html">point_xy.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="1accd1e9e84fdf9cf8d9da084d239167"></a><!-- doxytag: member="ggl::point_xy::point_xy" ref="1accd1e9e84fdf9cf8d9da084d239167" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, typename C = cs::cartesian&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1point__xy.html">ggl::point_xy</a>&lt; T, C &gt;::<a class="el" href="classggl_1_1point__xy.html">point_xy</a> </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Default constructor, does not initialize anything.
+<p>
+
+<p>Definition at line <a class="el" href="point__xy_8hpp_source.html#l00033">33</a> of file <a class="el" href="point__xy_8hpp_source.html">point_xy.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="844ec61e1186e2bb423a26c01e9a72d6"></a><!-- doxytag: member="ggl::point_xy::point_xy" ref="844ec61e1186e2bb423a26c01e9a72d6" args="(T const &amp;x, T const &amp;y)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, typename C = cs::cartesian&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1point__xy.html">ggl::point_xy</a>&lt; T, C &gt;::<a class="el" href="classggl_1_1point__xy.html">point_xy</a> </td>
+ <td>(</td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor with x/y values.
+<p>
+
+<p>Definition at line <a class="el" href="point__xy_8hpp_source.html#l00036">36</a> of file <a class="el" href="point__xy_8hpp_source.html">point_xy.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="a7803d55e0758a659d618583b757b272"></a><!-- doxytag: member="ggl::point_xy::x" ref="a7803d55e0758a659d618583b757b272" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, typename C = cs::cartesian&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">T const&amp; <a class="el" href="classggl_1_1point__xy.html">ggl::point_xy</a>&lt; T, C &gt;::x </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get x-value.
+<p>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="01__point__example_8cpp-example.html#a1">01_point_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="point__xy_8hpp_source.html#l00039">39</a> of file <a class="el" href="point__xy_8hpp_source.html">point_xy.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a83e59f4d401b1a4c6f037979c57260f"></a><!-- doxytag: member="ggl::point_xy::y" ref="a83e59f4d401b1a4c6f037979c57260f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, typename C = cs::cartesian&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">T const&amp; <a class="el" href="classggl_1_1point__xy.html">ggl::point_xy</a>&lt; T, C &gt;::y </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get y-value.
+<p>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="01__point__example_8cpp-example.html#a2">01_point_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="point__xy_8hpp_source.html#l00043">43</a> of file <a class="el" href="point__xy_8hpp_source.html">point_xy.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="b5fc7b83537aea3f46dffd562aea0bbf"></a><!-- doxytag: member="ggl::point_xy::x" ref="b5fc7b83537aea3f46dffd562aea0bbf" args="(T const &amp;v)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, typename C = cs::cartesian&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classggl_1_1point__xy.html">ggl::point_xy</a>&lt; T, C &gt;::x </td>
+ <td>(</td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set x-value.
+<p>
+
+<p>Definition at line <a class="el" href="point__xy_8hpp_source.html#l00047">47</a> of file <a class="el" href="point__xy_8hpp_source.html">point_xy.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="28f49fc68898e678390593fb73afd7c6"></a><!-- doxytag: member="ggl::point_xy::y" ref="28f49fc68898e678390593fb73afd7c6" args="(T const &amp;v)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, typename C = cs::cartesian&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classggl_1_1point__xy.html">ggl::point_xy</a>&lt; T, C &gt;::y </td>
+ <td>(</td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set y-value.
+<p>
+
+<p>Definition at line <a class="el" href="point__xy_8hpp_source.html#l00051">51</a> of file <a class="el" href="point__xy_8hpp_source.html">point_xy.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="3c5f9d94906145cc473019b8eaf66e7d"></a><!-- doxytag: member="ggl::point_xy::operator&lt;" ref="3c5f9d94906145cc473019b8eaf66e7d" args="(point_xy const &amp;other) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, typename C = cs::cartesian&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classggl_1_1point__xy.html">ggl::point_xy</a>&lt; T, C &gt;::operator&lt; </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1point__xy.html">point_xy</a>&lt; T, C &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em> </td>
+ <td>&nbsp;)&nbsp;</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%">
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,77 @@
+<!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">
+&nbsp;&nbsp;
+</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::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1polygon.html">ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,298 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1polygon.html">polygon</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt; 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.
+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 RingList&lt; <a class="el" href="classggl_1_1linear__ring.html">ring_type</a>, <br class="typebreak">
+RingAlloc&lt; <a class="el" href="classggl_1_1linear__ring.html">ring_type</a> &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Point&nbsp;</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 <a class="el" href="classggl_1_1linear__ring.html">linear_ring</a>&lt; Point, <br class="typebreak">
+<a class="el" href="class_point_list.html">PointList</a>, PointAlloc &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#1c6fe805fcbf99e4b70afe9202c820aa">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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#114bcb53b0264af8edaa53d8e42bf45f">clear</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#75a7c6b2f0fbc0c3e3127188f576c38f">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 &amp;&nbsp;</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_1linear__ring.html">ring_type</a> &amp;&nbsp;</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> const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#be04d3ead04813a25be1a219076358a8">outer</a> () const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point, template&lt; typename, typename &gt; class PointList = std::vector, template&lt; typename, typename &gt; class RingList = std::vector, template&lt; typename &gt; class PointAlloc = std::allocator, template&lt; typename &gt; class RingAlloc = std::allocator&gt;<br>
+ class ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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>
+<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>&nbsp;</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>&nbsp;</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>&nbsp;</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>PointAlloc</em>&nbsp;</td><td>container-allocator-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>RingAlloc</em>&nbsp;</td><td>container-allocator-type </td></tr>
+ </table>
+</dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The container collecting the points in the rings can be different from the container collecting the inner rings. They all default to vector. </dd></dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+
+<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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="8dda8bcf15991e114554c6dcfb9c7231"></a><!-- doxytag: member="ggl::polygon::point_type" ref="8dda8bcf15991e114554c6dcfb9c7231" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point, template&lt; typename, typename &gt; class PointList = std::vector, template&lt; typename, typename &gt; class RingList = std::vector, template&lt; typename &gt; class PointAlloc = std::allocator, template&lt; typename &gt; class RingAlloc = std::allocator&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>&lt; Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc &gt;::<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="polygon_8hpp_source.html#l00053">53</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="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point, template&lt; typename, typename &gt; class PointList = std::vector, template&lt; typename, typename &gt; class RingList = std::vector, template&lt; typename &gt; class PointAlloc = std::allocator, template&lt; typename &gt; class RingAlloc = std::allocator&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classggl_1_1linear__ring.html">linear_ring</a>&lt;Point, <a class="el" href="class_point_list.html">PointList</a>, PointAlloc&gt; <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>&lt; Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc &gt;::<a class="el" href="classggl_1_1linear__ring.html">ring_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="5c966fd82091bfdbe8d6693059b37864"></a><!-- doxytag: member="ggl::polygon::inner_container_type" ref="5c966fd82091bfdbe8d6693059b37864" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point, template&lt; typename, typename &gt; class PointList = std::vector, template&lt; typename, typename &gt; class RingList = std::vector, template&lt; typename &gt; class PointAlloc = std::allocator, template&lt; typename &gt; class RingAlloc = std::allocator&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef RingList&lt;<a class="el" href="classggl_1_1linear__ring.html">ring_type</a> , RingAlloc&lt;<a class="el" href="classggl_1_1linear__ring.html">ring_type</a> &gt; &gt; <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>&lt; Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc &gt;::<a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="be04d3ead04813a25be1a219076358a8"></a><!-- doxytag: member="ggl::polygon::outer" ref="be04d3ead04813a25be1a219076358a8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point, template&lt; typename, typename &gt; class PointList = std::vector, template&lt; typename, typename &gt; class RingList = std::vector, template&lt; typename &gt; class PointAlloc = std::allocator, template&lt; typename &gt; class RingAlloc = std::allocator&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1linear__ring.html">ring_type</a> const&amp; <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>&lt; Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc &gt;::outer </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="0d41c7b42a1444fdc759550644c7924e"></a><!-- doxytag: member="ggl::polygon::inners" ref="0d41c7b42a1444fdc759550644c7924e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point, template&lt; typename, typename &gt; class PointList = std::vector, template&lt; typename, typename &gt; class RingList = std::vector, template&lt; typename &gt; class PointAlloc = std::allocator, template&lt; typename &gt; class RingAlloc = std::allocator&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a> const&amp; <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>&lt; Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc &gt;::inners </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="6cdf9123dd3442b13cfd032555baea2f"></a><!-- doxytag: member="ggl::polygon::outer" ref="6cdf9123dd3442b13cfd032555baea2f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point, template&lt; typename, typename &gt; class PointList = std::vector, template&lt; typename, typename &gt; class RingList = std::vector, template&lt; typename &gt; class PointAlloc = std::allocator, template&lt; typename &gt; class RingAlloc = std::allocator&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1linear__ring.html">ring_type</a>&amp; <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>&lt; Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc &gt;::outer </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="75a7c6b2f0fbc0c3e3127188f576c38f"></a><!-- doxytag: member="ggl::polygon::inners" ref="75a7c6b2f0fbc0c3e3127188f576c38f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point, template&lt; typename, typename &gt; class PointList = std::vector, template&lt; typename, typename &gt; class RingList = std::vector, template&lt; typename &gt; class PointAlloc = std::allocator, template&lt; typename &gt; class RingAlloc = std::allocator&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a>&amp; <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>&lt; Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc &gt;::inners </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="114bcb53b0264af8edaa53d8e42bf45f"></a><!-- doxytag: member="ggl::polygon::clear" ref="114bcb53b0264af8edaa53d8e42bf45f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point, template&lt; typename, typename &gt; class PointList = std::vector, template&lt; typename, typename &gt; class RingList = std::vector, template&lt; typename &gt; class PointAlloc = std::allocator, template&lt; typename &gt; class RingAlloc = std::allocator&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>&lt; Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc &gt;::clear </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1radian.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1radian.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,82 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1radian.html">radian</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::radian Class Reference<br>
+<small>
+[<a class="el" href="group__cs.html">coordinate systems</a>]</small>
+</h1><!-- doxytag: class="ggl::radian" -->Unit of plan angles: radians.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Unit of plan angles: radians.
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00040">40</a> of file <a class="el" href="cs_8hpp_source.html">cs.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,73 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::area::by_spherical_excess&lt; P &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#59b71eaa070bf9d8e68e4d4f8263e06e">by_spherical_excess</a>(double radius=1.0)</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">operator()</a>(segment&lt; const P &gt; const &amp;segment, state_type &amp;state) const </td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess&lt; P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,209 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a>::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">by_spherical_excess</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::area::by_spherical_excess&lt; P &gt; Class Template Reference</h1><!-- doxytag: class="ggl::strategy::area::by_spherical_excess" -->Area calculation by spherical excess.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>excess_sum</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef excess_sum&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#59b71eaa070bf9d8e68e4d4f8263e06e">by_spherical_excess</a> (double radius=1.0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">operator()</a> (<a class="el" href="structggl_1_1segment.html">segment</a>&lt; const P &gt; const &amp;<a class="el" href="structggl_1_1segment.html">segment</a>, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a> &amp;state) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ class ggl::strategy::area::by_spherical_excess&lt; P &gt;</h3>
+
+Area calculation by spherical excess.
+<p>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>type of points of rings/polygons </td></tr>
+ </table>
+</dl>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Barend Gehrels. Adapted from:<ul>
+<li>http://www.soe.ucsc.edu/~pang/160/f98/Gems/GemsIV/sph_poly.c</li><li>http://williams.best.vwh.net/avform.htm </li></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The version in Gems didn't account for polygons crossing the 180 meridian. <p>
+This version works for convex and non-convex polygons, for 180 meridian crossing polygons and for polygons with holes. However, some cases (especially 180 meridian cases) must still be checked. <p>
+The version which sums angles, which is often seen, doesn't handle non-convex polygons correctly. <p>
+The version which sums longitudes, see http://trs-new.jpl.nasa.gov/dspace/bitstream/2014/40409/1/07-03.pdf, is simple and works well in most cases but not in 180 meridian crossing cases. This probably could be solved. </dd></dl>
+
+<p>Definition at line <a class="el" href="sph__area_8hpp_source.html#l00045">45</a> of file <a class="el" href="sph__area_8hpp_source.html">sph_area.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="9378e1ffdce5a34e96aa1ec3245ac718"></a><!-- doxytag: member="ggl::strategy::area::by_spherical_excess::return_type" ref="9378e1ffdce5a34e96aa1ec3245ac718" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef double <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess</a>&lt; P &gt;::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="sph__area_8hpp_source.html#l00070">70</a> of file <a class="el" href="sph__area_8hpp_source.html">sph_area.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ca224a54396a8ff91a31831888ddc65e"></a><!-- doxytag: member="ggl::strategy::area::by_spherical_excess::state_type" ref="ca224a54396a8ff91a31831888ddc65e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef excess_sum <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess</a>&lt; P &gt;::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="sph__area_8hpp_source.html#l00071">71</a> of file <a class="el" href="sph__area_8hpp_source.html">sph_area.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="59b71eaa070bf9d8e68e4d4f8263e06e"></a><!-- doxytag: member="ggl::strategy::area::by_spherical_excess::by_spherical_excess" ref="59b71eaa070bf9d8e68e4d4f8263e06e" args="(double radius=1.0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess</a>&lt; P &gt;::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">by_spherical_excess</a> </td>
+ <td>(</td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>radius</em> = <code>1.0</code> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="sph__area_8hpp_source.html#l00073">73</a> of file <a class="el" href="sph__area_8hpp_source.html">sph_area.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="b05fba0d842e52d836c6e603045e8f7b"></a><!-- doxytag: member="ggl::strategy::area::by_spherical_excess::operator()" ref="b05fba0d842e52d836c6e603045e8f7b" args="(segment&lt; const P &gt; const &amp;segment, state_type &amp;state) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess</a>&lt; P &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1segment.html">segment</a>&lt; const P &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>segment</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="sph__area_8hpp_source.html#l00078">78</a> of file <a class="el" href="sph__area_8hpp_source.html">sph_area.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">operator()</a>(segment&lt; const PS &gt; const &amp;s, state_type &amp;state) const </td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,185 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a>::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">by_triangles</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt; Class Template Reference</h1><!-- doxytag: class="ggl::strategy::area::by_triangles" -->Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points.
+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 &nbsp;</td><td class="memItemRight" valign="bottom"><b>summation</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::mpl::if_c<br class="typebreak">
+&lt; boost::is_void<br class="typebreak">
+&lt; CalculationType &gt;<br class="typebreak">
+::type::value, typename <br class="typebreak">
+<a class="el" href="structggl_1_1select__most__precise.html">select_most_precise</a>&lt; typename <br class="typebreak">
+<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; PS &gt;::type, <br class="typebreak">
+double &gt;::type, <br class="typebreak">
+CalculationType &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef summation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">operator()</a> (<a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; const &amp;s, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a> &amp;state) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename PS, typename CalculationType = void&gt;<br>
+ class ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</h3>
+
+Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points.
+<p>
+Calculates <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> using well-known triangulation algorithm <dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>PS</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of segments </td></tr>
+ </table>
+</dl>
+<dl class="user" compact><dt><b>Concepts for PS:</b></dt><dd><ul>
+<li>specialized point_traits class </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="cart__area_8hpp_source.html#l00035">35</a> of file <a class="el" href="cart__area_8hpp_source.html">cart_area.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="f2ef55e9d5310d400a6e43a25f6c989d"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::return_type" ref="f2ef55e9d5310d400a6e43a25f6c989d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PS , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::mpl::if_c&lt; boost::is_void&lt;CalculationType&gt;::type::value, typename <a class="el" href="structggl_1_1select__most__precise.html">select_most_precise</a> &lt; typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt;PS&gt;::type, double &gt;::type, CalculationType &gt;::type <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>&lt; PS, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__area_8hpp_source.html#l00051">51</a> of file <a class="el" href="cart__area_8hpp_source.html">cart_area.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="b8c68b50c6f0909ab64c6c97f4dd8ea4"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::state_type" ref="b8c68b50c6f0909ab64c6c97f4dd8ea4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PS , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef summation <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>&lt; PS, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__area_8hpp_source.html#l00074">74</a> of file <a class="el" href="cart__area_8hpp_source.html">cart_area.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="44a2feaa28620a60ce740cfad2374894"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::operator()" ref="44a2feaa28620a60ce740cfad2374894" args="(segment&lt; const PS &gt; const &amp;s, state_type &amp;state) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PS , typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>&lt; PS, CalculationType &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__area_8hpp_source.html#l00076">76</a> of file <a class="el" href="cart__area_8hpp_source.html">cart_area.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">operator()</a>(segment&lt; const SegmentPointType &gt; const &amp;s, state_type &amp;state) const </td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">centroid</a>::<a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">bashein_detmer</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt; Class Template Reference</h1><!-- doxytag: class="ggl::strategy::centroid::bashein_detmer" -->Centroid calculation using algorith Bashein / Detmer.
+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 &nbsp;</td><td class="memItemRight" valign="bottom"><b>sums</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef sums&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">operator()</a> (<a class="el" href="structggl_1_1segment.html">segment</a>&lt; const SegmentPointType &gt; const &amp;s, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a> &amp;state) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename CentroidPointType, typename SegmentPointType = CentroidPointType, typename CalculationType = void&gt;<br>
+ class ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt;</h3>
+
+Centroid calculation using algorith Bashein / Detmer.
+<p>
+Calculates <a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">centroid</a> using triangulation method published by Bashein / Detmer <dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>PC</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of <a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">centroid</a> to calculate </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PS</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of segments, defaults to PC </td></tr>
+ </table>
+</dl>
+<dl class="user" compact><dt><b>Concepts for PC and PS:</b></dt><dd><ul>
+<li>specialized point_traits class </li></ul>
+</dd></dl>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Adapted from "Centroid of a Polygon" by Gerard Bashein and Paul R. Detmer<em>, in "Graphics Gems IV", Academic Press, 1994</em> </dd></dl>
+<dl class="user" compact><dt><b>Research notes</b></dt><dd>The algorithm gives the same results as Oracle and PostGIS but differs from MySQL (tried 5.0.21 / 5.0.45 / 5.0.51a / 5.1.23).</dd></dl>
+Without holes:<ul>
+<li>this: POINT(4.06923363095238 1.65055803571429)</li><li>geolib: POINT(4.07254 1.66819)</li><li>MySQL: POINT(3.6636363636364 1.6272727272727)'</li><li>PostGIS: POINT(4.06923363095238 1.65055803571429)</li><li>Oracle: 4.06923363095238 1.65055803571429</li><li>SQL Server: POINT(4.06923362245959 1.65055804168294)</li></ul>
+<p>
+Statements:<ul>
+<li><b>MySQL/PostGIS</b>: select AsText(Centroid(GeomFromText('POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2 ,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3))')))</li><li><b>Oracle:</b> select sdo_geom.sdo_centroid(sdo_geometry(2003, null, null, sdo_elem_info_array(1, 1003, 1), sdo_ordinate_array(2,1.3,2.4,1.7,2.8,1.8 ,3.4,1.2,3.7,1.6,3.4,2,4.1,3,5.3,2.6,5.4,1.2,4.9,0.8,2.9,0.7,2,1.3)) , mdsys.sdo_dim_array(mdsys.sdo_dim_element('x',0,10,.00000005) ,mdsys.sdo_dim_element('y',0,10,.00000005))) from dual</li><li><b>SQL</b> Server 2008: select geometry::STGeomFromText('POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2 ,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3))',0) .STCentroid() .STAsText()</li></ul>
+<p>
+With holes:<ul>
+<li>this: POINT(4.04663 1.6349)</li><li>geolib: POINT(4.04675 1.65735)</li><li>MySQL: POINT(3.6090580503834 1.607573932092)</li><li>PostGIS: POINT(4.0466265060241 1.63489959839357)</li><li>Oracle: 4.0466265060241 1.63489959839357</li><li>SQL Server: POINT(4.0466264962959677 1.6348996057331333)</li></ul>
+<p>
+Statements:<ul>
+<li><b>MySQL/PostGIS</b>: select AsText(Centroid(GeomFromText('POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2 ,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3) ,(4 2,4.2 1.4,4.8 1.9,4.4 2.2,4 2))')));</li><li><b>Oracle:</b> select sdo_geom.sdo_centroid(sdo_geometry(2003, null, null , sdo_elem_info_array(1, 1003, 1, 25, 2003, 1) , sdo_ordinate_array(2,1.3,2.4,1.7,2.8,1.8,3.4,1.2,3.7,1.6,3.4,2,4.1,3,5.3 ,2.6,5.4,1.2,4.9,0.8,2.9,0.7,2,1.3,4,2, 4.2,1.4, 4.8,1.9, 4.4,2.2, 4,2)) , mdsys.sdo_dim_array(mdsys.sdo_dim_element('x',0,10,.00000005) ,mdsys.sdo_dim_element('y',0,10,.00000005))) from dual </li></ul>
+
+<p>Definition at line <a class="el" href="cart__centroid_8hpp_source.html#l00180">180</a> of file <a class="el" href="cart__centroid_8hpp_source.html">cart_centroid.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="c9134908bec29b94168f6d733a6b2c89"></a><!-- doxytag: member="ggl::strategy::centroid::bashein_detmer::state_type" ref="c9134908bec29b94168f6d733a6b2c89" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CentroidPointType , typename SegmentPointType = CentroidPointType, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef sums <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer</a>&lt; CentroidPointType, SegmentPointType, CalculationType &gt;::<a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__centroid_8hpp_source.html#l00247">247</a> of file <a class="el" href="cart__centroid_8hpp_source.html">cart_centroid.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="328f86d7cd18dbaa435df19c924f98fe"></a><!-- doxytag: member="ggl::strategy::centroid::bashein_detmer::operator()" ref="328f86d7cd18dbaa435df19c924f98fe" args="(segment&lt; const SegmentPointType &gt; const &amp;s, state_type &amp;state) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CentroidPointType , typename SegmentPointType = CentroidPointType, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer</a>&lt; CentroidPointType, SegmentPointType, CalculationType &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1segment.html">segment</a>&lt; const SegmentPointType &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__centroid_8hpp_source.html#l00249">249</a> of file <a class="el" href="cart__centroid_8hpp_source.html">cart_centroid.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::centroid::geolib1995&lt; PC, PS &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995&lt; PC, PS &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">operator()</a>(const segment&lt; const PS &gt; &amp;s, state_type &amp;state) const </td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995&lt; PC, PS &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995&lt; PC, PS &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">centroid</a>::<a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">geolib1995</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::centroid::geolib1995&lt; PC, PS &gt; Class Template Reference</h1><!-- doxytag: class="ggl::strategy::centroid::geolib1995" -->Centroid calculation.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>sums</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef sums&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">operator()</a> (const <a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;s, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a> &amp;state) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename PC, typename PS = PC&gt;<br>
+ class ggl::strategy::centroid::geolib1995&lt; PC, PS &gt;</h3>
+
+Centroid calculation.
+<p>
+Geolib original version, <dl class="user" compact><dt><b>Template parameters and concepts: see bashein_detmer</b></dt><dd></dd></dl>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Barend and Maarten, 1995/1996 <p>
+Revised for templatized library, Barend Gehrels, 2007 </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The results are slightly different from Bashein/Detmer, so probably slightly wrong. </dd></dl>
+
+<p>Definition at line <a class="el" href="cart__centroid_8hpp_source.html#l00043">43</a> of file <a class="el" href="cart__centroid_8hpp_source.html">cart_centroid.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="1dd6664e9b804f79ad472e51501568c8"></a><!-- doxytag: member="ggl::strategy::centroid::geolib1995::state_type" ref="1dd6664e9b804f79ad472e51501568c8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PC , typename PS = PC&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef sums <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995</a>&lt; PC, PS &gt;::<a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__centroid_8hpp_source.html#l00079">79</a> of file <a class="el" href="cart__centroid_8hpp_source.html">cart_centroid.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="2b418413c02d508b0f570efff0102ff6"></a><!-- doxytag: member="ggl::strategy::centroid::geolib1995::operator()" ref="2b418413c02d508b0f570efff0102ff6" args="(const segment&lt; const PS &gt; &amp;s, state_type &amp;state) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename PC , typename PS = PC&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995</a>&lt; PC, PS &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__centroid_8hpp_source.html#l00080">80</a> of file <a class="el" href="cart__centroid_8hpp_source.html">cart_centroid.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::convex_hull::graham&lt; P &gt; 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&lt; P &gt;</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 &amp;range)</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham&lt; P &gt;</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&lt; P &gt;</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&lt; P &gt;</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 &amp;range)</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham&lt; P &gt;</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&lt; P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,221 @@
+<!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">
+&nbsp;&nbsp;
+</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_1convex__hull.html">convex_hull</a>::<a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">graham</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::convex_hull::graham&lt; P &gt; Class Template Reference</h1><!-- doxytag: class="ggl::strategy::convex_hull::graham" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Range &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</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 &amp;range)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename OutputIterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</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="memTemplParams" nowrap colspan="2">template&lt;typename Range &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#03467845cee70dffe77e7469290d4e62">graham</a> (const Range &amp;range)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#00ccb1a05057f89cd1d557506e9eba1d">graham</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#886de91332db9c491dd1ea63c476a1c3">handle_input</a> ()</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ class ggl::strategy::convex_hull::graham&lt; P &gt;</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>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="00ccb1a05057f89cd1d557506e9eba1d"></a><!-- doxytag: member="ggl::strategy::convex_hull::graham::graham" ref="00ccb1a05057f89cd1d557506e9eba1d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham</a>&lt; P &gt;::<a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">graham</a> </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="03467845cee70dffe77e7469290d4e62"></a><!-- doxytag: member="ggl::strategy::convex_hull::graham::graham" ref="03467845cee70dffe77e7469290d4e62" args="(const Range &amp;range)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+<div class="memtemplate">
+template&lt;typename Range &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham</a>&lt; P &gt;::<a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">graham</a> </td>
+ <td>(</td>
+ <td class="paramtype">const Range &amp;&nbsp;</td>
+ <td class="paramname"> <em>range</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<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)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+<div class="memtemplate">
+template&lt;typename OutputIterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham</a>&lt; P &gt;::get </td>
+ <td>(</td>
+ <td class="paramtype">OutputIterator&nbsp;</td>
+ <td class="paramname"> <em>out</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="5fdc022ecff10cfbea0d8d0f0dc4bcad"></a><!-- doxytag: member="ggl::strategy::convex_hull::graham::add_range" ref="5fdc022ecff10cfbea0d8d0f0dc4bcad" args="(const Range &amp;range)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+<div class="memtemplate">
+template&lt;typename Range &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham</a>&lt; P &gt;::add_range </td>
+ <td>(</td>
+ <td class="paramtype">const Range &amp;&nbsp;</td>
+ <td class="paramname"> <em>range</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="agn__convex__hull_8hpp_source.html#l00141">141</a> of file <a class="el" href="agn__convex__hull_8hpp_source.html">agn_convex_hull.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="886de91332db9c491dd1ea63c476a1c3"></a><!-- doxytag: member="ggl::strategy::convex_hull::graham::handle_input" ref="886de91332db9c491dd1ea63c476a1c3" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham</a>&lt; P &gt;::handle_input </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="agn__convex__hull_8hpp_source.html#l00146">146</a> of file <a class="el" href="agn__convex__hull_8hpp_source.html">agn_convex_hull.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</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::haversine&lt; P1, P2 &gt; 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&lt; P1, P2 &gt;</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&lt; P1, P2 &gt;</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 &amp;p1, const P2 &amp;p2) const </td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</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&lt; P1, P2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,185 @@
+<!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">
+&nbsp;&nbsp;
+</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_1haversine.html">haversine</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::distance::haversine&lt; P1, P2 &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance calculation</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::distance::haversine" -->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...
+<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 double&nbsp;</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">&nbsp;</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>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cfc29c7f64c6136784283fab579fa970">operator()</a> (const P1 &amp;p1, const P2 &amp;p2) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2 = P1&gt;<br>
+ class ggl::strategy::distance::haversine&lt; P1, P2 &gt;</h3>
+
+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>.
+<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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>optional second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type </td></tr>
+ </table>
+</dl>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Adapted from: http://williams.best.vwh.net/avform.htm </dd></dl>
+<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>
+<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">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1, typename P2 = P1&gt; </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>&lt; P1, P2 &gt;::<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>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<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&lt;typename P1, typename P2 = P1&gt; </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>&lt; P1, P2 &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">haversine</a> </td>
+ <td>(</td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>r</em> = <code>1.0</code> </td>
+ <td>&nbsp;)&nbsp;</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="cfc29c7f64c6136784283fab579fa970"></a><!-- doxytag: member="ggl::strategy::distance::haversine::operator()" ref="cfc29c7f64c6136784283fab579fa970" args="(const P1 &amp;p1, const P2 &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1, typename P2 = P1&gt; </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>&lt; P1, P2 &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">const P1 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const P2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="haversine_8hpp_source.html#l00058">58</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1ll__point__segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1ll__point__segment-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</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::ll_point_segment&lt; P, S &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#bd6a906cc460c9073ed833922392407c">ll_point_segment</a>(double r=1.0)</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#ded28ff8067850eab6befbf3cec37098">operator()</a>(P const &amp;p, S const &amp;s) const </td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1ll__point__segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1ll__point__segment.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,182 @@
+<!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">
+&nbsp;&nbsp;
+</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_1ll__point__segment.html">ll_point_segment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::distance::ll_point_segment&lt; P, S &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance calculation</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::distance::ll_point_segment" -->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 double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#bd6a906cc460c9073ed833922392407c">ll_point_segment</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_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#ded28ff8067850eab6befbf3cec37098">operator()</a> (P const &amp;p, S const &amp;s) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, typename S&gt;<br>
+ class ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</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 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>&nbsp;</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>&nbsp;</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="haversine_8hpp_source.html#l00087">87</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="f98549b351e37683bc7999d389f170f0"></a><!-- doxytag: member="ggl::strategy::distance::ll_point_segment::return_type" ref="f98549b351e37683bc7999d389f170f0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef double <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment</a>&lt; P, S &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="haversine_8hpp_source.html#l00090">90</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="bd6a906cc460c9073ed833922392407c"></a><!-- doxytag: member="ggl::strategy::distance::ll_point_segment::ll_point_segment" ref="bd6a906cc460c9073ed833922392407c" args="(double r=1.0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment</a>&lt; P, S &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ll_point_segment</a> </td>
+ <td>(</td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>r</em> = <code>1.0</code> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="haversine_8hpp_source.html#l00092">92</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="ded28ff8067850eab6befbf3cec37098"></a><!-- doxytag: member="ggl::strategy::distance::ll_point_segment::operator()" ref="ded28ff8067850eab6befbf3cec37098" args="(P const &amp;p, S const &amp;s) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">return_type</a> <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment</a>&lt; P, S &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">P const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em></td><td>&nbsp;</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="haversine_8hpp_source.html#l00095">95</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::intersection::liang_barsky&lt; B, P &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">ggl::strategy::intersection::liang_barsky&lt; B, P &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#8e27188bc1054b3017c059cce6b3c330">add</a>(L &amp;line_out, OutputIterator out) const </td><td><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">ggl::strategy::intersection::liang_barsky&lt; B, P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#1a0456b13305792c70cd53b8571db1ef">clip_segment</a>(B const &amp;b, segment_type &amp;s, bool &amp;sp1_clipped, bool &amp;sp2_clipped) const </td><td><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">ggl::strategy::intersection::liang_barsky&lt; B, P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,189 @@
+<!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">
+&nbsp;&nbsp;
+</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_1intersection.html">intersection</a>::<a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">liang_barsky</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::intersection::liang_barsky&lt; B, P &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__overlay.html">overlay operations (intersection, union, clipping)</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::intersection::liang_barsky" -->Strategy: line clipping algorithm after Liang Barsky.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , typename OutputIterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#8e27188bc1054b3017c059cce6b3c330">add</a> (L &amp;line_out, OutputIterator out) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#1a0456b13305792c70cd53b8571db1ef">clip_segment</a> (B const &amp;b, <a class="el" href="structggl_1_1segment.html">segment_type</a> &amp;s, bool &amp;sp1_clipped, bool &amp;sp2_clipped) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename B, typename P&gt;<br>
+ class ggl::strategy::intersection::liang_barsky&lt; B, P &gt;</h3>
+
+Strategy: line clipping algorithm after Liang Barsky.
+<p>
+The Liang-Barsky line clipping algorithm clips a line with a clipping <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>. It is slightly adapted in the sense that it returns which points are clipped <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>B</em>&nbsp;</td><td>input <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> type of clipping <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>input/output point-type of segments to be clipped </td></tr>
+ </table>
+</dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The algorithm is currently only implemented for 2D Cartesian points </dd></dl>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Barend Gehrels, and the following recourses<ul>
+<li>A tutorial: http://www.skytopia.com/project/articles/compsci/clipping.html</li><li>a German applet (link broken): http://ls7-www.cs.uni-dortmund.de/students/projectgroups/acit/lineclip.shtml </li></ul>
+</dd></dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+
+<p>
+<a class="el" href="c05__custom__point__pointer__example_8cpp-example.html#_a4">c05_custom_point_pointer_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="intersection__linestring_8hpp_source.html#l00039">39</a> of file <a class="el" href="intersection__linestring_8hpp_source.html">intersection_linestring.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="1a0456b13305792c70cd53b8571db1ef"></a><!-- doxytag: member="ggl::strategy::intersection::liang_barsky::clip_segment" ref="1a0456b13305792c70cd53b8571db1ef" args="(B const &amp;b, segment_type &amp;s, bool &amp;sp1_clipped, bool &amp;sp2_clipped) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename B, typename P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">ggl::strategy::intersection::liang_barsky</a>&lt; B, P &gt;::clip_segment </td>
+ <td>(</td>
+ <td class="paramtype">B const &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1segment.html">segment_type</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool &amp;&nbsp;</td>
+ <td class="paramname"> <em>sp1_clipped</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool &amp;&nbsp;</td>
+ <td class="paramname"> <em>sp2_clipped</em></td><td>&nbsp;</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="intersection__linestring_8hpp_source.html#l00076">76</a> of file <a class="el" href="intersection__linestring_8hpp_source.html">intersection_linestring.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="8e27188bc1054b3017c059cce6b3c330"></a><!-- doxytag: member="ggl::strategy::intersection::liang_barsky::add" ref="8e27188bc1054b3017c059cce6b3c330" args="(L &amp;line_out, OutputIterator out) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename B, typename P&gt; </div>
+<div class="memtemplate">
+template&lt;typename L , typename OutputIterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">ggl::strategy::intersection::liang_barsky</a>&lt; B, P &gt;::add </td>
+ <td>(</td>
+ <td class="paramtype">L &amp;&nbsp;</td>
+ <td class="paramname"> <em>line_out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">OutputIterator&nbsp;</td>
+ <td class="paramname"> <em>out</em></td><td>&nbsp;</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="intersection__linestring_8hpp_source.html#l00125">125</a> of file <a class="el" href="intersection__linestring_8hpp_source.html">intersection_linestring.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt; 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&lt; R, O_IT, PSDS &gt;</a>, including all inherited members.<p><table>
+ <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&lt; R, O_IT, PSDS &gt;</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 &amp;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&lt; R, O_IT, PSDS &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,170 @@
+<!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">
+&nbsp;&nbsp;
+</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_1simplify.html">simplify</a>::<a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">douglas_peucker</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__simplify.html">simplification (generalization)</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::simplify::douglas_peucker" -->Implements the <a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">simplify</a> algorithm.
+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 PSDS&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#dca55aa87f6d5b49df52585fa0f97add">simplify</a> (const R &amp;range, O_IT out, double max_distance) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call simplification on an iterator pair. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename R, typename O_IT, typename PSDS&gt;<br>
+ class ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</h3>
+
+Implements the <a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">simplify</a> algorithm.
+<p>
+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>R</em>&nbsp;</td><td>boost range </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>O_IT</em>&nbsp;</td><td>output iterator </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PSDS</em>&nbsp;</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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="8baa11b24fd260345ee451512c710350"></a><!-- doxytag: member="ggl::strategy::simplify::douglas_peucker::distance_strategy_type" ref="8baa11b24fd260345ee451512c710350" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename R , typename O_IT , typename PSDS &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PSDS <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker</a>&lt; R, O_IT, PSDS &gt;::<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="agn__simplify_8hpp_source.html#l00147">147</a> of file <a class="el" href="agn__simplify_8hpp_source.html">agn_simplify.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 &amp;range, O_IT out, double max_distance) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename R , typename O_IT , typename PSDS &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker</a>&lt; R, O_IT, PSDS &gt;::simplify </td>
+ <td>(</td>
+ <td class="paramtype">const R &amp;&nbsp;</td>
+ <td class="paramname"> <em>range</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">O_IT&nbsp;</td>
+ <td class="paramname"> <em>out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>max_distance</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Call simplification on an iterator pair.
+<p>
+
+<p>Definition at line <a class="el" href="agn__simplify_8hpp_source.html#l00152">152</a> of file <a class="el" href="agn__simplify_8hpp_source.html">agn_simplify.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,95 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ublas_transformer</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::ublas_transformer&lt; P1, P2, Dimension1, Dimension2 &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::transform::ublas_transformer" -->Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do an affine matrix transformation in Cartesian system.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2, std::size_t Dimension1, std::size_t Dimension2&gt;<br>
+ class ggl::strategy::transform::ublas_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</h3>
+
+Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do an affine matrix transformation in Cartesian system.
+<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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>second <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>Dimension1</em>&nbsp;</td><td>number of dimensions to <a class="el" href="namespaceggl_1_1strategy_1_1transform.html">transform</a> from first <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, optional </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Dimension1</em>&nbsp;</td><td>number of dimensions to <a class="el" href="namespaceggl_1_1strategy_1_1transform.html">transform</a> to second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, optional </td></tr>
+ </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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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-members.html
==============================================================================
--- (empty file)
+++ 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-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,77 @@
+<!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">
+&nbsp;&nbsp;
+</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::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><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#ffa7fb0b1ff1d5fd75be30486c0d46a8">coordinate_type</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#d4da01249b3437d063dc5fba25fec65f">ct</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#490515cf8b428ea54c0aacc3d9683876">m_matrix</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#6b9ff9fc83d6716a7d7aa46916340e45">matrix</a>() const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#12592e67623e7963a17010ad3441389b">matrix_type</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#1d0365284596b5f526aef0af1c388649">operator()</a>(const P1 &amp;p1, P2 &amp;p2) const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#deabcfb90827d666568146854b29ae80">ublas_transformer</a>(ct const &amp;m_0_0, ct const &amp;m_0_1, ct const &amp;m_0_2, ct const &amp;m_1_0, ct const &amp;m_1_1, ct const &amp;m_1_2, ct const &amp;m_2_0, ct const &amp;m_2_1, ct const &amp;m_2_2)</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#6f4c5f93e056261368a62866dc1138bc">ublas_transformer</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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
==============================================================================
--- (empty file)
+++ 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-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,347 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</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">ublas_transformer&lt; P1, P2, 2, 2 &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt; Class Template Reference</h1><!-- doxytag: class="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;" -->Inherited by <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">ggl::strategy::transform::scale_transformer&lt; P1, P2, 2, 2 &gt;</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">ggl::strategy::transform::translate_transformer&lt; P1, P2, 2, 2 &gt;</a>, and <a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;</a>.
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <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#12592e67623e7963a17010ad3441389b">matrix_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><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">matrix</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><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">operator()</a> (const P1 &amp;p1, P2 &amp;p2) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><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">ublas_transformer</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><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">ublas_transformer</a> (<a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_0_0, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_0_1, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_0_2, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_1_0, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_1_1, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_1_2, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_2_0, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_2_1, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_2_2)</td><
/tr>
+
+<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; P1, P2 &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><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">coordinate_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><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">ct</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
+boost::numeric::ublas::matrix<br class="typebreak">
+&lt; <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><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#12592e67623e7963a17010ad3441389b">matrix_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><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#12592e67623e7963a17010ad3441389b">matrix_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><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#490515cf8b428ea54c0aacc3d9683876">m_matrix</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ class ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="ffa7fb0b1ff1d5fd75be30486c0d46a8"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;::coordinate_type" ref="ffa7fb0b1ff1d5fd75be30486c0d46a8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;P1, P2&gt;::type <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 2, 2 &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a><code> [protected]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<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&lt; P1, P2, 3, 2 &gt;</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&lt; P1, P2, 2, 2 &gt;</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&lt; P1, P2, 2, 2 &gt;</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>
+
+</div>
+</div><p>
+<a class="anchor" name="d4da01249b3437d063dc5fba25fec65f"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;::ct" ref="d4da01249b3437d063dc5fba25fec65f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 2, 2 &gt;::<a class="el" href="structggl_1_1coordinate__type.html">ct</a><code> [protected]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<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&lt; P1, P2, 3, 2 &gt;</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>
+
+</div>
+</div><p>
+<a class="anchor" name="12592e67623e7963a17010ad3441389b"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;::matrix_type" ref="12592e67623e7963a17010ad3441389b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::numeric::ublas::matrix&lt;<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&gt; <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 2, 2 &gt;::<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#12592e67623e7963a17010ad3441389b">matrix_type</a><code> [protected]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="deabcfb90827d666568146854b29ae80"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;::ublas_transformer" ref="deabcfb90827d666568146854b29ae80" args="(ct const &amp;m_0_0, ct const &amp;m_0_1, ct const &amp;m_0_2, ct const &amp;m_1_0, ct const &amp;m_1_1, ct const &amp;m_1_2, ct const &amp;m_2_0, ct const &amp;m_2_1, ct const &amp;m_2_2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 2, 2 &gt;::<a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ublas_transformer</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_0_0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_0_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_0_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_1_0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_1_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_1_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_2_0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_2_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_2_2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<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&lt; P1, P2, 3, 2 &gt;</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>
+<a class="anchor" name="6f4c5f93e056261368a62866dc1138bc"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;::ublas_transformer" ref="6f4c5f93e056261368a62866dc1138bc" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 2, 2 &gt;::<a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ublas_transformer</a> </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<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&lt; P1, P2, 3, 2 &gt;</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>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="1d0365284596b5f526aef0af1c388649"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;::operator()" ref="1d0365284596b5f526aef0af1c388649" args="(const P1 &amp;p1, P2 &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 2, 2 &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">const P1 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="matrix__transformers_8hpp_source.html#l00075">75</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="6b9ff9fc83d6716a7d7aa46916340e45"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;::matrix" ref="6b9ff9fc83d6716a7d7aa46916340e45" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const <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#12592e67623e7963a17010ad3441389b">matrix_type</a>&amp; <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 2, 2 &gt;::matrix </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="490515cf8b428ea54c0aacc3d9683876"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;::m_matrix" ref="490515cf8b428ea54c0aacc3d9683876" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><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#12592e67623e7963a17010ad3441389b">matrix_type</a> <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 2, 2 &gt;::<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#490515cf8b428ea54c0aacc3d9683876">m_matrix</a><code> [protected]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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-members.html
==============================================================================
--- (empty file)
+++ 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-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,77 @@
+<!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">
+&nbsp;&nbsp;
+</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::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><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#f18e27122021194c07a471589ba9307d">coordinate_type</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#951814d986884cb4de41d5ac69f49935">ct</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#cbc1a5011d8f38842c1970ea9f7ae859">m_matrix</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#26c463b304ea38f14d55fcadd4d439a8">matrix</a>() const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#a76b6324f5b389154d46f685e0d87780">matrix_type</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#b74d6180b2290096409861046c6b33da">operator()</a>(const P1 &amp;p1, P2 &amp;p2) const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#62ee4b0a8b7b1e9b4a3b6621911fd0b4">ublas_transformer</a>(ct const &amp;m_0_0, ct const &amp;m_0_1, ct const &amp;m_0_2, ct const &amp;m_0_3, ct const &amp;m_1_0, ct const &amp;m_1_1, ct const &amp;m_1_2, ct const &amp;m_1_3, ct const &amp;m_2_0, ct const &amp;m_2_1, ct const &amp;m_2_2, ct const &amp;m_2_3, ct const &amp;m_3_0, ct const &amp;m_3_1, ct const &amp;m_3_2, ct const &amp;m_3_3)</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#c6b30d2d246cd8e4ef439c10c563abba">ublas_transformer</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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
==============================================================================
--- (empty file)
+++ 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-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,384 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</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">ublas_transformer&lt; P1, P2, 3, 3 &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt; Class Template Reference</h1><!-- doxytag: class="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;" -->Inherited by <a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::scale_transformer&lt; P1, P2, 3, 3 &gt;</a>, and <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::translate_transformer&lt; P1, P2, 3, 3 &gt;</a>.
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <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#a76b6324f5b389154d46f685e0d87780">matrix_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><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">matrix</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><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">operator()</a> (const P1 &amp;p1, P2 &amp;p2) const </td></tr>
+
+<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; P1, P2 &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><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">coordinate_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><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">ct</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
+boost::numeric::ublas::matrix<br class="typebreak">
+&lt; <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><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#a76b6324f5b389154d46f685e0d87780">matrix_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><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">ublas_transformer</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><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#62ee4b0a8b7b1e9b4a3b6621911fd0b4">ublas_transformer</a> (<a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_0_0, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_0_1, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_0_2, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_0_3, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_1_0, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_1_1, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_1_2, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_1_3, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_2_0, <a cl
ass="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_2_1, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_2_2, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_2_3, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_3_0, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_3_1, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_3_2, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_3_3)</td></tr>
+
+<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><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#a76b6324f5b389154d46f685e0d87780">matrix_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><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#cbc1a5011d8f38842c1970ea9f7ae859">m_matrix</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ class ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="f18e27122021194c07a471589ba9307d"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;::coordinate_type" ref="f18e27122021194c07a471589ba9307d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;P1, P2&gt;::type <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 3, 3 &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a><code> [protected]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<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&lt; P1, P2, 3, 3 &gt;</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&lt; P1, P2, 3, 3 &gt;</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>
+
+</div>
+</div><p>
+<a class="anchor" name="951814d986884cb4de41d5ac69f49935"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;::ct" ref="951814d986884cb4de41d5ac69f49935" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 3, 3 &gt;::<a class="el" href="structggl_1_1coordinate__type.html">ct</a><code> [protected]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="a76b6324f5b389154d46f685e0d87780"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;::matrix_type" ref="a76b6324f5b389154d46f685e0d87780" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::numeric::ublas::matrix&lt;<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&gt; <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 3, 3 &gt;::<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#a76b6324f5b389154d46f685e0d87780">matrix_type</a><code> [protected]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="62ee4b0a8b7b1e9b4a3b6621911fd0b4"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;::ublas_transformer" ref="62ee4b0a8b7b1e9b4a3b6621911fd0b4" args="(ct const &amp;m_0_0, ct const &amp;m_0_1, ct const &amp;m_0_2, ct const &amp;m_0_3, ct const &amp;m_1_0, ct const &amp;m_1_1, ct const &amp;m_1_2, ct const &amp;m_1_3, ct const &amp;m_2_0, ct const &amp;m_2_1, ct const &amp;m_2_2, ct const &amp;m_2_3, ct const &amp;m_3_0, ct const &amp;m_3_1, ct const &amp;m_3_2, ct const &amp;m_3_3)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 3, 3 &gt;::<a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ublas_transformer</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_0_0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_0_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_0_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_0_3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_1_0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_1_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_1_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_1_3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_2_0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_2_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_2_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_2_3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_3_0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_3_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_3_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_3_3</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="c6b30d2d246cd8e4ef439c10c563abba"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;::ublas_transformer" ref="c6b30d2d246cd8e4ef439c10c563abba" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 3, 3 &gt;::<a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ublas_transformer</a> </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="b74d6180b2290096409861046c6b33da"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;::operator()" ref="b74d6180b2290096409861046c6b33da" args="(const P1 &amp;p1, P2 &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 3, 3 &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">const P1 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="matrix__transformers_8hpp_source.html#l00151">151</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="26c463b304ea38f14d55fcadd4d439a8"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;::matrix" ref="26c463b304ea38f14d55fcadd4d439a8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const <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#a76b6324f5b389154d46f685e0d87780">matrix_type</a>&amp; <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 3, 3 &gt;::matrix </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="cbc1a5011d8f38842c1970ea9f7ae859"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;::m_matrix" ref="cbc1a5011d8f38842c1970ea9f7ae859" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><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#a76b6324f5b389154d46f685e0d87780">matrix_type</a> <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 3, 3 &gt;::<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#cbc1a5011d8f38842c1970ea9f7ae859">m_matrix</a><code> [protected]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::within::winding&lt; P, PS &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding&lt; P, PS &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">operator()</a>(const segment&lt; const PS &gt; &amp;s, state_type &amp;state) const </td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding&lt; P, PS &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding&lt; P, PS &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,160 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1within.html">within</a>::<a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">winding</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::within::winding&lt; P, PS &gt; Class Template Reference</h1><!-- doxytag: class="ggl::strategy::within::winding" -->Within detection using <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a> rule.
+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 &nbsp;</td><td class="memItemRight" valign="bottom"><b>windings</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef windings&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">operator()</a> (const <a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;s, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a> &amp;state) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, typename PS = P&gt;<br>
+ class ggl::strategy::within::winding&lt; P, PS &gt;</h3>
+
+Within detection using <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a> rule.
+<p>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to examine </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PS</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of segments, defaults to P </td></tr>
+ </table>
+</dl>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Barend Gehrels </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The implementation is inspired by terralib http://www.terralib.org (LGPL) <p>
+but totally revised afterwards, especially for cases on segments <p>
+More efficient (<a class="el" href="structggl_1_1less.html" title="Less predicate for usage in e.g. std::map.">less</a> comparisons and no divison) than the cross count algorithm <p>
+Only dependant on "side", -&gt; agnostic, suitable for latlong </dd></dl>
+
+<p>Definition at line <a class="el" href="agn__within_8hpp_source.html#l00038">38</a> of file <a class="el" href="agn__within_8hpp_source.html">agn_within.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="aa5dc8bd530eed3ac8420ccccd2c8e65"></a><!-- doxytag: member="ggl::strategy::within::winding::state_type" ref="aa5dc8bd530eed3ac8420ccccd2c8e65" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename PS = P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef windings <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>&lt; P, PS &gt;::<a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="agn__within_8hpp_source.html#l00104">104</a> of file <a class="el" href="agn__within_8hpp_source.html">agn_within.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="8ce0e3219bdded9943af7bc594a7f1be"></a><!-- doxytag: member="ggl::strategy::within::winding::operator()" ref="8ce0e3219bdded9943af7bc594a7f1be" args="(const segment&lt; const PS &gt; &amp;s, state_type &amp;state) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename PS = P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>&lt; P, PS &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</em></td><td>&nbsp;</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="agn__within_8hpp_source.html#l00106">106</a> of file <a class="el" href="agn__within_8hpp_source.html">agn_within.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::svg_manipulator&lt; G &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1svg__manipulator.html">ggl::svg_manipulator&lt; G &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">operator&lt;&lt;</a>(std::basic_ostream&lt; Char, Traits &gt; &amp;os, svg_manipulator const &amp;m)</td><td><a class="el" href="classggl_1_1svg__manipulator.html">ggl::svg_manipulator&lt; G &gt;</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">svg_manipulator</a>(G const &amp;g, std::string const &amp;style, int size)</td><td><a class="el" href="classggl_1_1svg__manipulator.html">ggl::svg_manipulator&lt; G &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,173 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1svg__manipulator.html">svg_manipulator</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::svg_manipulator&lt; G &gt; Class Template Reference<br>
+<small>
+[<a class="el" href="group__svg.html">x Extension svg: Stream SVG (Scalable Vector Graphics)</a>]</small>
+</h1><!-- doxytag: class="ggl::svg_manipulator" -->Generic geometry template manipulator class, takes corresponding output class from <a class="el" href="namespaceggl_1_1traits.html">traits</a> class.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">svg_manipulator</a> (G const &amp;g, std::string const &amp;style, int size)</td></tr>
+
+<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Char , typename Traits &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::basic_ostream&lt; Char, <br class="typebreak">
+Traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">operator&lt;&lt;</a> (std::basic_ostream&lt; Char, Traits &gt; &amp;os, <a class="el" href="classggl_1_1svg__manipulator.html">svg_manipulator</a> const &amp;m)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ class ggl::svg_manipulator&lt; G &gt;</h3>
+
+Generic geometry template manipulator class, takes corresponding output class from <a class="el" href="namespaceggl_1_1traits.html">traits</a> class.
+<p>
+Stream manipulator, streams geometry classes as Virtual Earth shape
+<p>Definition at line <a class="el" href="write__svg_8hpp_source.html#l00223">223</a> of file <a class="el" href="write__svg_8hpp_source.html">write_svg.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="f020707f84912c433297184f758dd908"></a><!-- doxytag: member="ggl::svg_manipulator::svg_manipulator" ref="f020707f84912c433297184f758dd908" args="(G const &amp;g, std::string const &amp;style, int size)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1svg__manipulator.html">ggl::svg_manipulator</a>&lt; G &gt;::<a class="el" href="classggl_1_1svg__manipulator.html">svg_manipulator</a> </td>
+ <td>(</td>
+ <td class="paramtype">G const &amp;&nbsp;</td>
+ <td class="paramname"> <em>g</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::string const &amp;&nbsp;</td>
+ <td class="paramname"> <em>style</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>size</em></td><td>&nbsp;</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="write__svg_8hpp_source.html#l00227">227</a> of file <a class="el" href="write__svg_8hpp_source.html">write_svg.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="7c706fce0e2e9a7ae577f4f2d8062282"></a><!-- doxytag: member="ggl::svg_manipulator::operator&lt;&lt;" ref="7c706fce0e2e9a7ae577f4f2d8062282" args="(std::basic_ostream&lt; Char, Traits &gt; &amp;os, svg_manipulator const &amp;m)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G&gt; </div>
+<div class="memtemplate">
+template&lt;typename Char , typename Traits &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">std::basic_ostream&lt;Char, Traits&gt;&amp; operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">std::basic_ostream&lt; Char, Traits &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classggl_1_1svg__manipulator.html">svg_manipulator</a>&lt; G &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [friend]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="write__svg_8hpp_source.html#l00234">234</a> of file <a class="el" href="write__svg_8hpp_source.html">write_svg.hpp</a>.</p>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/algorithms/clear.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f">ggl::clear</a> (G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (exterior+interiors) or multi*. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,209 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/clear.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_CLEAR_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_CLEAR_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
+<a name="l00017"></a>00017 {
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="comment">// This traits is currently NOT defined in ../core/ but here, just because it default</span>
+<a name="l00020"></a>00020 <span class="comment">// does not have to be implemented</span>
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>traits
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00036"></a><a class="code" href="structggl_1_1traits_1_1clear.html">00036</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a>
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 };
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 } <span class="comment">// namespace traits</span>
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a> {
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00047"></a>00047 <span class="keyword">struct </span>use_std_clear
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(G&amp; geometry)
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 geometry.clear();
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053 };
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00056"></a>00056 <span class="keyword">struct </span>use_traits_clear
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(G&amp; geometry)
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 traits::clear&lt;G&gt;::apply(geometry);
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00065"></a>00065 <span class="keyword">struct </span>polygon_clear
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P&amp; polygon)
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon).clear();
+<a name="l00070"></a>00070 <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon).clear();
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072 };
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00075"></a>00075 <span class="keyword">struct </span>no_action
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(G&amp; geometry)
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 };
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 }} <span class="comment">// namespace detail::clear</span>
+<a name="l00083"></a>00083 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00084"></a>00084 <span class="preprocessor"></span>
+<a name="l00085"></a>00085 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keywordtype">bool</span> Std, <span class="keyword">typename</span> G&gt;
+<a name="l00090"></a>00090 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>
+<a name="l00091"></a>00091 {};
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="comment">// True (default for all geometry types, unless otherwise implemented in traits)</span>
+<a name="l00094"></a>00094 <span class="comment">// uses std::clear</span>
+<a name="l00095"></a>00095 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G&gt;
+<a name="l00096"></a>00096 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>&lt;Tag, true, G&gt;
+<a name="l00097"></a>00097 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::use_std_clear&lt;G&gt;
+<a name="l00098"></a>00098 {};
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="comment">// If any geometry specializes use_std&lt;G&gt; to false, specialize to use the traits clear.</span>
+<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G&gt;
+<a name="l00102"></a>00102 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>&lt;Tag, false, G&gt;
+<a name="l00103"></a>00103 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::use_traits_clear&lt;G&gt;
+<a name="l00104"></a>00104 {};
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="comment">// Point/box/nsphere/segment do not have clear. So specialize to do nothing.</span>
+<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00108"></a>00108 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>&lt;point_tag, true, G&gt;
+<a name="l00109"></a>00109 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action&lt;G&gt;
+<a name="l00110"></a>00110 {};
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00113"></a>00113 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>&lt;box_tag, true, G&gt;
+<a name="l00114"></a>00114 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action&lt;G&gt;
+<a name="l00115"></a>00115 {};
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00118"></a>00118 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>&lt;segment_tag, true, G&gt;
+<a name="l00119"></a>00119 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action&lt;G&gt;
+<a name="l00120"></a>00120 {};
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00124"></a>00124 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>&lt;nsphere_tag, true, G&gt;
+<a name="l00125"></a>00125 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action&lt;G&gt;
+<a name="l00126"></a>00126 {};
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="comment">// Polygon can (indirectly) use std for clear</span>
+<a name="l00130"></a>00130 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00131"></a>00131 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>&lt;polygon_tag, true, P&gt;
+<a name="l00132"></a>00132 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::polygon_clear&lt;P&gt;
+<a name="l00133"></a>00133 {};
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 } <span class="comment">// namespace dispatch</span>
+<a name="l00137"></a>00137 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00138"></a>00138 <span class="preprocessor"></span>
+<a name="l00139"></a>00139
+<a name="l00146"></a>00146 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00147"></a><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f">00147</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>(G&amp; geometry)
+<a name="l00148"></a>00148 {
+<a name="l00149"></a>00149 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">dispatch::clear</a>
+<a name="l00152"></a>00152 &lt;
+<a name="l00153"></a>00153 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00154"></a>00154 <a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">traits::use_std&lt;ncg_type&gt;::value</a>,
+<a name="l00155"></a>00155 ncg_type
+<a name="l00156"></a>00156 &gt;::apply(geometry);
+<a name="l00157"></a>00157 }
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 } <span class="comment">// namespace ggl</span>
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161 <span class="preprocessor">#endif // GGL_ALGORITHMS_CLEAR_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clip_linestring.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clip_polygon.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clip_segment_segment.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/combine.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 &nbsp;</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&lt;typename Box , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199">ggl::combine</a> (Box &amp;box, Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with another geometry (<a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>). <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,239 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/combine.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_ALGORITHMS_COMBINE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_COMBINE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="arithmetic_8hpp.html">ggl/arithmetic/arithmetic.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="box__concept_8hpp.html">ggl/core/concepts/box_concept.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="assign__box__corner_8hpp.html">ggl/util/assign_box_corner.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>&gt;</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 &lt;
+<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 &gt;
+<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&lt;Point&gt;::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&amp; box, Point <span class="keyword">const</span>&amp; source)
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 coordinate_type <span class="keyword">const</span> coord = get&lt;Dimension&gt;(source);
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keywordflow">if</span> (coord &lt; get&lt;min_corner, Dimension&gt;(box))
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 set&lt;min_corner, Dimension&gt;(box, coord );
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keywordflow">if</span> (coord &gt; get&lt;max_corner, Dimension&gt;(box))
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 set&lt;max_corner, Dimension&gt;(box, coord);
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 point_loop&lt;Box, Point, Dimension + 1, DimensionCount&gt;::apply(box, source);
+<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 &lt;
+<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 &gt;
+<a name="l00069"></a>00069 <span class="keyword">struct </span>point_loop&lt;Box, Point, DimensionCount, DimensionCount&gt;
+<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&amp;, Point <span class="keyword">const</span>&amp;) {}
+<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 &lt;
+<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 &gt;
+<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&lt;BoxIn, BoxOut&gt;::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&amp; box, BoxOut <span class="keyword">const</span>&amp; source)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 coordinate_type <span class="keyword">const</span> coord = get&lt;Corner, Dimension&gt;(source);
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keywordflow">if</span> (coord &lt; get&lt;min_corner, Dimension&gt;(box))
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 set&lt;min_corner, Dimension&gt;(box, coord);
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keywordflow">if</span> (coord &gt; get&lt;max_corner, Dimension&gt;(box))
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 set&lt;max_corner, Dimension&gt;(box, coord);
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 box_loop
+<a name="l00100"></a>00100 &lt;
+<a name="l00101"></a>00101 BoxIn, BoxOut, Corner, Dimension + 1, DimensionCount
+<a name="l00102"></a>00102 &gt;::apply(box, source);
+<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 &lt;
+<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 &gt;
+<a name="l00112"></a>00112 <span class="keyword">struct </span>box_loop&lt;BoxIn, BoxOut, Corner, DimensionCount, DimensionCount&gt;
+<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&amp;, BoxOut <span class="keyword">const</span>&amp;) {}
+<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>&lt;<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00120"></a>00120 <span class="keyword">struct </span>combine_box_with_point
+<a name="l00121"></a>00121 : point_loop&lt;Box, Point, 0, dimension&lt;Point&gt;::type::value&gt;
+<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>&lt;<span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> BoxIn&gt;
+<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&amp; b, BoxIn <span class="keyword">const</span>&amp; other)
+<a name="l00130"></a>00130 {
+<a name="l00131"></a>00131 box_loop&lt;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&lt;BoxIn&gt;::type::value</a>&gt;::apply(b, other);
+<a name="l00133"></a>00133 box_loop&lt;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&lt;BoxIn&gt;::type::value</a>&gt;::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> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00146"></a>00146 <span class="keyword">struct </span><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a>
+<a name="l00147"></a>00147 {};
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="comment">// Box + point -&gt; new box containing also point</span>
+<a name="l00151"></a>00151 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<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>&lt;point_tag, BoxOut, Point&gt;
+<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&lt;BoxOut, Point&gt;
+<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 -&gt; new box containing two input boxes</span>
+<a name="l00158"></a>00158 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> BoxIn&gt;
+<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>&lt;box_tag, BoxOut, BoxIn&gt;
+<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&lt;BoxOut, BoxIn&gt;
+<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> &lt;<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Geometry&gt;
+<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&amp; box, Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00178"></a>00178 {
+<a name="l00179"></a>00179 assert_dimension_equal&lt;Box, Geometry&gt;();
+<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 &lt;
+<a name="l00182"></a>00182 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00183"></a>00183 Box, Geometry
+<a name="l00184"></a>00184 &gt;::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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_box_box.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_box_point.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/compiling.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/compiling.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,94 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1><a class="anchor" name="compiling">Compiling </a></h1><h2><a class="anchor" name="compiling_intro">
+Compiling the Generic Geometry Library</a></h2>
+The Generic Geometry Library is a Header Only library. So just including the headerfiles is enough to use the algorithms. Nothing has to be linked.<p>
+The Generic Geometry Library is only dependant on (header only) Boost libraries. Download the Boost Library Collection from www.boost.org, adapt include path to include Boost.<h2><a class="anchor" name="platforms">
+Platforms</a></h2>
+The library currently compiles successfully on the following platforms:<ul>
+<li>MS Visual Studio 2008 (Express Edition)</li><li>MS Visual Studio 2005 (Express Edition)</li><li>gcc version 3.4</li><li>gcc version 4 (tested are 4.1, 4.2, 4.4)</li></ul>
+<h2><a class="anchor" name="convenient_includes">
+Convenient includes</a></h2>
+This section concentrates on how to include the Generic Geometry Library.<p>
+The most convenient headerfile including all algorithms and strategies is geometry.hpp:<ul>
+<li>#include &lt;ggl/ggl.hpp&gt; It is not absolutely necessary to include this headerfile, it is also possible to include the algorithm headerfiles separately. However, it is convenient and used in most cases.</li></ul>
+<p>
+An often used headerfile is <a class="el" href="geometries_8hpp.html">geometries.hpp</a>:<ul>
+<li>#include &lt;<a class="el" href="geometries_8hpp.html">ggl/geometries/geometries.hpp</a>&gt; This includes all default geometries: point, linestring, polygon, linear_ring, box, circle/sphere. It is not included in the "geometry.hpp" headerfile because users are allowed to use their own geometries. However, for library users who want to use the provided geometries it is most useful.</li></ul>
+<p>
+For users using only Cartesian points, with floating point coordinates (double), in 2D or 3D, you can use instead:<ul>
+<li>#include &lt;<a class="el" href="cartesian2d_8hpp.html">ggl/geometries/cartesian2d.hpp</a>&gt; This includes all 2D Cartesian geometries: point_2d, linestring_2d, etc. Using this headerfile the library seems to be a non-template library, so it is convenient for users that are not so into the template world.</li></ul>
+<h2><a class="anchor" name="advanced_includes">
+Advanced includes</a></h2>
+This section is for users who have their own geometries and want to use algorithms from the Generic Geometry Library.<p>
+If you want to use your own points it makes sense to use the registration macro's:<ul>
+<li>#include &lt;<a class="el" href="register_2point_8hpp.html">ggl/geometries/register/point.hpp</a>&gt; macro's for point registration</li><li>#include &lt;<a class="el" href="register_2box_8hpp.html">ggl/geometries/register/box.hpp</a>&gt; macro's for box registration</li></ul>
+<p>
+If you are using standard containers containing points and want to handle them as a linestring<ul>
+<li>#include &lt;<a class="el" href="std__as__linestring_8hpp.html">ggl/geometries/adapted/std_as_linestring.hpp</a>&gt; allows you to use things like <code>std::vector&lt;point_2d&gt;</code> and put them as parameters into algorithms.</li></ul>
+<p>
+If you are using boost tuples and want to handle them as Cartesian points<ul>
+<li>#include &lt;<a class="el" href="tuple__cartesian_8hpp.html">ggl/geometries/adapted/tuple_cartesian.hpp</a>&gt;</li></ul>
+<h2><a class="anchor" name="performance">
+Performance</a></h2>
+The enumeration below is not exhaustive but can contain hints to improve the performance<ul>
+<li>For Microsoft, set the define _SECURE_SCL=0</li><li>For Microsoft, set the define _HAS_ITERATOR_DEBUGGING=0</li><li>Barend's measurements indicate that MSVC 2005 generates faster code than MSVC 2008</li><li>Using StlPort results in significant faster code than Microsoft's standard library</li><li>Of course turn on compiler optimizations, compile in release mode </li></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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/concepts.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/concepts.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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 class="current">Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1><a class="anchor" name="concepts">Concepts </a></h1>All geometries are handled as concepts. They are specified by a set of traits classes in the traits namespace.<p>
+This means that geometries provided by library users, or legacy geometries, or plain arrays, or boost tuples, all can be handled by the Generic Geometry Library. That is why it is called generic. Also std::vector of points or tuples can be handled as either a linestring or a linear ring (polygon without holes).<p>
+There are concepts for<ul>
+<li>points</li><li>box</li><li>n-sphere (meaning circle or sphere)</li><li>linestring</li><li>ring (linear ring, a polygon without holes)</li><li>polygon</li><li>segment</li></ul>
+<p>
+The library uses the generic functionality internally. So it should work with any geometry, as long as the necessary traits classes are provided.<p>
+For a valid point five traits classes are necessary:<ul>
+<li>there should be a tag traits class indicating that it is a point</li><li>there should be a coordinate_type traits class indicating what arithmetic type its coordinates are</li><li>there should be a dimension traits class indicating the number of its dimensions (coordinate axes)</li><li>there should be a coordinate system traits class defining in which coordinate system it lives</li><li>there should be an access traits class, having a get (for a ConstPoint) and a set (for a mutable Point) function</li></ul>
+<p>
+These traits class can be implemented in the code, but easier is it to use the registration macro's as shown in example c01 (custom points).<p>
+For a valid linestring there is only one traits class required:<ul>
+<li>there should be a tag traits class indicating that it is a linestring</li></ul>
+<p>
+For the rest a linestring is modelled as a range, so a std::vector, std::deque, boost::array, <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>, iterator pair or c-array will do. If a linestring is modified it is using the standard library (push_back). If that is not intended, optionally another traits class can be defined:<ul>
+<li>there might be a use_std traits class indicating that it does not use the standard library (for modifications)</li></ul>
+<p>
+If that traits class is defined, there should also be two other traits classs<ul>
+<li>there should then be clear traits class to make a linestring empty</li><li>there should then be a append_point traits class to add a poitn to a linestring</li></ul>
+<p>
+There are also concepts for boxes, n-spheres, segments, rings and polygons.<p>
+The Generic Geometry Library uses Boost Concept Check Library (BCCL) and Meta Programming Language (MPL) to define and check concepts. The Generic Geometry Library uses the Boost Range Library to iterate through standard containers, boost arrays, c-arrays. </div>
+<hr size="1">
+<table width="100%">
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/convert.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 &nbsp;</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&lt;typename G1 , typename G2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convert.html#ge07fa83176190049c856e35f77d0f569">ggl::convert</a> (G1 const &amp;geometry1, G2 &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts one geometry to another geometry. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,211 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/convert.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_ALGORITHMS_CONVERT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_CONVERT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="append_8hpp.html">ggl/algorithms/append.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="for__each_8hpp.html">ggl/algorithms/for_each.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a> {
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00036"></a>00036 <span class="keyword">struct </span>point_to_box
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P <span class="keyword">const</span>&amp; point, B&amp; box)
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type&lt;B&gt;::type</a> coordinate_type;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 set&lt;C, D&gt;(box, boost::numeric_cast&lt;coordinate_type&gt;(get&lt;D&gt;(point)));
+<a name="l00043"></a>00043 point_to_box&lt;P, B, C, D + 1, N&gt;::apply(point, box);
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00048"></a>00048 <span class="keyword">struct </span>point_to_box&lt;P, B, C, N, N&gt;
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P <span class="keyword">const</span>&amp; point, B&amp; box)
+<a name="l00051"></a>00051 {}
+<a name="l00052"></a>00052 };
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 }} <span class="comment">// namespace detail::convert</span>
+<a name="l00055"></a>00055 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span>
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2, <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2&gt;
+<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> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2&gt;
+<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>&lt;T, T, G1, G2&gt;
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <span class="comment">// Same geometry type -&gt; 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> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> G&gt;
+<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>&lt;T, T, G, G&gt;
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="comment">// Same geometry -&gt; 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> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> R&gt;
+<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>&lt;box_tag, ring_tag, B, R&gt;
+<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>&amp; box, R&amp; ring)
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="comment">// go from box to ring -&gt; 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&lt;B, 2&gt;();
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 ring.clear();
+<a name="l00091"></a>00091 <span class="keyword">typename</span> point_type&lt;B&gt;::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&lt;min_corner, 0&gt;(box), get&lt;min_corner, 1&gt;(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&lt;min_corner, 0&gt;(box), get&lt;max_corner, 1&gt;(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&lt;max_corner, 0&gt;(box), get&lt;max_corner, 1&gt;(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&lt;max_corner, 0&gt;(box), get&lt;min_corner, 1&gt;(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&lt;min_corner, 0&gt;(box), get&lt;min_corner, 1&gt;(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> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> P&gt;
+<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>&lt;box_tag, polygon_tag, B, P&gt;
+<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>&amp; box, P&amp; polygon)
+<a name="l00114"></a>00114 {
+<a name="l00115"></a>00115 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P&gt;::type ring_type;
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 convert&lt;box_tag, ring_tag, B, ring_type&gt;::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> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B&gt;
+<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>&lt;point_tag, box_tag, P, B&gt;
+<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>&amp; point, B&amp; box)
+<a name="l00125"></a>00125 {
+<a name="l00126"></a>00126 <span class="comment">// go from point to box -&gt; 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&lt;P&gt;::value</a>;
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 detail::convert::point_to_box&lt;P, B, min_corner, 0, N&gt;::apply(point, box);
+<a name="l00130"></a>00130 detail::convert::point_to_box&lt;P, B, max_corner, 0, N&gt;::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> &lt;<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2&gt;
+<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>&amp; geometry1, G2&amp; 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 &lt;
+<a name="l00152"></a>00152 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G1&gt;::type</a>,
+<a name="l00153"></a>00153 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G2&gt;::type</a>,
+<a name="l00154"></a>00154 G1,
+<a name="l00155"></a>00155 G2
+<a name="l00156"></a>00156 &gt;::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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convexhull_polygon_polygon.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__dimension_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__dimension_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,100 @@
+<!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">
+&nbsp;&nbsp;
+</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/coordinate_dimension.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1dimension.html">ggl::dimension&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function which defines coordinate dimensions, i.e. the number of axes of any geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1dimension.html">ggl::traits::dimension&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class indicating the number of dimensions of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , int D&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#ga43456dff55af2757deaf0168f02b899">ggl::assert_dimension</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assert_dimension, enables compile-time checking if coordinate dimensions are as expected <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g6af1781e9ae86e95302a6e9997549e95">ggl::assert_dimension_equal</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assert_dimension_equal, enables compile-time checking if coordinate dimensions of two geometries are equal <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , int D&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c748276bc142deaad1ce28af84d4edf8">ggl::assert_dimension_greater_equal</a> ()</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , int D&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#gc994425c217f28b39694f41e6d1f5386">ggl::assert_dimension_less_equal</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assert_dimension, enables compile-time checking if coordinate dimensions are as expected <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__dimension_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__dimension_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,152 @@
+<!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">
+&nbsp;&nbsp;
+</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/coordinate_dimension.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_CORE_COORDINATE_DIMENSION_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_COORDINATE_DIMENSION_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/mpl/equal_to.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/static_assert.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>traits
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00036"></a><a class="code" href="structggl_1_1traits_1_1dimension.html">00036</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1dimension.html" title="Traits class indicating the number of dimensions of a point.">dimension</a> {};
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 } <span class="comment">// namespace traits</span>
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="comment">// Base class derive from its own specialization of point-tag</span>
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> G&gt;
+<a name="l00046"></a>00046 <span class="keyword">struct </span><a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension</a> : <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension</a>&lt;point_tag, typename point_type&lt;T, G&gt;::type&gt; {};
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00049"></a>00049 <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;point_tag, P&gt; : traits::<a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;P&gt; {};
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00052"></a>00052 <span class="preprocessor">#endif</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span>
+<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00059"></a><a class="code" href="structggl_1_1dimension.html">00059</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension</a>
+<a name="l00060"></a>00060 : core_dispatch::<a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension</a>
+<a name="l00061"></a>00061 &lt;
+<a name="l00062"></a>00062 typename tag&lt;G&gt;::type,
+<a name="l00063"></a>00063 typename boost::remove_const&lt;G&gt;::type
+<a name="l00064"></a>00064 &gt;
+<a name="l00065"></a>00065 {};
+<a name="l00066"></a>00066
+<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keywordtype">int</span> D&gt;
+<a name="l00072"></a><a class="code" href="group__utility.html#ga43456dff55af2757deaf0168f02b899">00072</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__utility.html#ga43456dff55af2757deaf0168f02b899" title="assert_dimension, enables compile-time checking if coordinate dimensions are as expected...">assert_dimension</a>()
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 BOOST_STATIC_ASSERT((
+<a name="l00075"></a>00075 boost::mpl::equal_to
+<a name="l00076"></a>00076 &lt;
+<a name="l00077"></a>00077 <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&lt;G&gt;</a>,
+<a name="l00078"></a>00078 boost::mpl::int_&lt;D&gt;
+<a name="l00079"></a>00079 &gt;::type::value
+<a name="l00080"></a>00080 ));
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082
+<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keywordtype">int</span> D&gt;
+<a name="l00088"></a><a class="code" href="group__utility.html#gc994425c217f28b39694f41e6d1f5386">00088</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__utility.html#gc994425c217f28b39694f41e6d1f5386" title="assert_dimension, enables compile-time checking if coordinate dimensions are as expected...">assert_dimension_less_equal</a>()
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 BOOST_STATIC_ASSERT(( <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;G&gt;::type::value</a> &lt;= D ));
+<a name="l00091"></a>00091 }
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keywordtype">int</span> D&gt;
+<a name="l00094"></a><a class="code" href="namespaceggl.html#c748276bc142deaad1ce28af84d4edf8">00094</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#c748276bc142deaad1ce28af84d4edf8">assert_dimension_greater_equal</a>()
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 BOOST_STATIC_ASSERT(( <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;G&gt;::type::value</a> &gt;= D ));
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098
+<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2&gt;
+<a name="l00104"></a><a class="code" href="group__utility.html#g6af1781e9ae86e95302a6e9997549e95">00104</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__utility.html#g6af1781e9ae86e95302a6e9997549e95" title="assert_dimension_equal, enables compile-time checking if coordinate dimensions of...">assert_dimension_equal</a>()
+<a name="l00105"></a>00105 {
+<a name="l00106"></a>00106 BOOST_STATIC_ASSERT(( <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;G1&gt;::type::value</a> == <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;G2&gt;::type::value</a> ));
+<a name="l00107"></a>00107 }
+<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 <span class="preprocessor">#endif // GGL_CORE_COORDINATE_DIMENSION_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__system_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__system_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/coordinate_system.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function which defines coordinate system for any geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">ggl::traits::coordinate_system&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class defining the coordinate system of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, important for <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> selection. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__system_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__system_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,132 @@
+<!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">
+&nbsp;&nbsp;
+</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/coordinate_system.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_CORE_COORDINATE_SYSTEM_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_COORDINATE_SYSTEM_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 &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl
+<a name="l00019"></a>00019 {
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>traits
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00033"></a><a class="code" href="structggl_1_1traits_1_1coordinate__system.html">00033</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1coordinate__system.html" title="Traits class defining the coordinate system of a point, important for strategy selection...">coordinate_system</a> {};
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 } <span class="comment">// namespace traits</span>
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> G&gt;
+<a name="l00044"></a>00044 <span class="keyword">struct </span><a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system</a>
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 <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&lt;GeometryTag, G&gt;::type</a> P;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="comment">// Call its own specialization on point-tag</span>
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system&lt;point_tag, P&gt;::type</a> type;
+<a name="l00050"></a>00050 };
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00054"></a>00054 <span class="keyword">struct </span>coordinate_system&lt;point_tag, P&gt;
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">typedef</span> <span class="keyword">typename</span> traits::coordinate_system&lt;P&gt;::type type;
+<a name="l00057"></a>00057 };
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span>
+<a name="l00063"></a>00063
+<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00069"></a><a class="code" href="structggl_1_1coordinate__system.html">00069</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system</a>
+<a name="l00070"></a>00070 {
+<a name="l00071"></a><a class="code" href="structggl_1_1coordinate__system.html#c53f29d9ef862a2f281a9bf516521c46">00071</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type <a class="code" href="structggl_1_1coordinate__system.html#c53f29d9ef862a2f281a9bf516521c46">ncg</a>;
+<a name="l00072"></a>00072 <span class="keyword">typedef</span> <span class="keyword">typename</span> core_dispatch::coordinate_system&lt;
+<a name="l00073"></a><a class="code" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">00073</a> <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, <a class="code" href="structggl_1_1coordinate__system.html#c53f29d9ef862a2f281a9bf516521c46">ncg</a>&gt;<a class="code" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">::type</a> <a class="code" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">type</a>;
+<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="preprocessor">#endif // GGL_CORE_COORDINATE_SYSTEM_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__type_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/coordinate_type.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1coordinate__type.html">ggl::coordinate_type&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function which defines coordinate type (int, float, double, etc) of any geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1coordinate__type.html">ggl::traits::coordinate_type&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class which indicate the coordinate type (double,float,...) of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/coordinate__type_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/coordinate_type.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_CORE_COORDINATE_TYPE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_COORDINATE_TYPE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="keyword">namespace </span>traits {
+<a name="l00019"></a>00019
+<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00029"></a><a class="code" href="structggl_1_1traits_1_1coordinate__type.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1coordinate__type.html" title="Traits class which indicate the coordinate type (double,float,...) of a point.">coordinate_type</a> {};
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 } <span class="comment">// namespace traits</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> G&gt;
+<a name="l00038"></a>00038 <span class="keyword">struct </span><a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>
+<a name="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__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;GeometryTag, G&gt;::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="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="comment">// Call its own specialization on point-tag</span>
+<a name="l00043"></a>00043 <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&lt;point_tag, point_type&gt;::type</a> type;
+<a name="l00044"></a>00044 };
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00047"></a>00047 <span class="keyword">struct </span>coordinate_type&lt;point_tag, P&gt;
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> <span class="keyword">typename</span> traits::coordinate_type&lt;P&gt;::type type;
+<a name="l00050"></a>00050 };
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00053"></a>00053 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00054"></a>00054 <span class="preprocessor"></span>
+<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00060"></a><a class="code" href="structggl_1_1coordinate__type.html">00060</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>
+<a name="l00061"></a>00061 {
+<a name="l00062"></a><a class="code" href="structggl_1_1coordinate__type.html#a2452b2ff15dcb3de239e970cce63bd7">00062</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type <a class="code" href="structggl_1_1coordinate__type.html#a2452b2ff15dcb3de239e970cce63bd7">ncg</a>;
+<a name="l00063"></a>00063 <span class="keyword">typedef</span> <span class="keyword">typename</span> core_dispatch::coordinate_type
+<a name="l00064"></a>00064 &lt;
+<a name="l00065"></a>00065 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00066"></a>00066 <a class="code" href="structggl_1_1coordinate__type.html#a2452b2ff15dcb3de239e970cce63bd7">ncg</a>
+<a name="l00067"></a><a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">00067</a> &gt;<a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">::type</a> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">type</a>;
+<a name="l00068"></a>00068 };
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 } <span class="comment">// namespace ggl</span>
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="preprocessor">#endif // GGL_CORE_COORDINATE_TYPE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/copy.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 &nbsp;</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&lt;typename Src , typename Dst &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011">ggl::copy_coordinates</a> (const Src &amp;source, Dst &amp;dest)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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">
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,132 @@
+<!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">
+&nbsp;&nbsp;
+</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/copy.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_COPY_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_COPY_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<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>copy {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<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&gt;
+<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="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&amp; source, Dst&amp; dest)
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;Dst&gt;::type coordinate_type;
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 set&lt;D&gt;(dest, boost::numeric_cast&lt;coordinate_type&gt;(get&lt;D&gt;(source)));
+<a name="l00036"></a>00036 copy_coordinates&lt;Src, Dst, D + 1, N&gt;::copy(source, dest);
+<a name="l00037"></a>00037 }
+<a name="l00038"></a>00038 };
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Src, <span class="keyword">typename</span> Dst, std::<span class="keywordtype">size_t</span> N&gt;
+<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>&lt;Src, Dst, N, N&gt;
+<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&amp; source, Dst&amp; dest)
+<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> &lt;<span class="keyword">typename</span> Src, <span class="keyword">typename</span> Dst&gt;
+<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&amp; source, Dst&amp; 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&lt;Src&gt;</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&lt;Dst&gt;</a>) );
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="comment">//assert_dimension_equal&lt;Dst, Src&gt;();</span>
+<a name="l00071"></a>00071 detail::copy::copy_coordinates&lt;Src, Dst, 0, dimension&lt;Src&gt;::value&gt;::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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/copy_segments.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 &nbsp;</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&lt;typename Geometry , typename SegmentIdentifier , typename RangeOut &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">ggl::copy_segments</a> (Geometry const &amp;geometry, SegmentIdentifier const &amp;seg_id, int to_index, RangeOut &amp;range_out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traverses through intersection points / geometries. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,272 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/copy_segments.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_ALGORITHMS_OVERLAY_COPY_SEGMENTS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_OVERLAY_COPY_SEGMENTS_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 &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="intersection__point_8hpp.html">ggl/algorithms/overlay/intersection_point.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="ever__circling__iterator_8hpp.html">ggl/iterators/ever_circling_iterator.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="iterators_2point__const__iterator_8hpp.html">ggl/iterators/point_const_iterator.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>ggl
+<a name="l00024"></a>00024 {
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a> {
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut&gt;
+<a name="l00032"></a>00032 <span class="keyword">struct </span>copy_segments_ring
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Ring <span class="keyword">const</span>&amp; ring,
+<a name="l00035"></a>00035 SegmentIdentifier <span class="keyword">const</span>&amp; seg_id, <span class="keywordtype">int</span> to_index,
+<a name="l00036"></a>00036 RangeOut&amp; 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&lt;Ring&gt;::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&lt;iterator&gt;</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" -&gt; end = "3" -&gt; end == begin</span>
+<a name="l00043"></a>00043 <span class="comment">// This is not convenient with iterators.</span>
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="comment">// So we use the ever-circling iterator and determine when to step out</span>
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keywordtype">int</span> from_index = seg_id.segment_index + 1;
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="comment">// Sanity check</span>
+<a name="l00050"></a>00050 BOOST_ASSERT(from_index &lt; boost::size(ring));
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 ec_iterator it(boost::begin(ring), boost::end(ring),
+<a name="l00053"></a>00053 boost::begin(ring) + from_index);
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="comment">// [2..4] -&gt; 4 - 2 + 1 = 3 -&gt; {2,3,4} -&gt; OK</span>
+<a name="l00056"></a>00056 <span class="comment">// [4..2],size=6 -&gt; 6 - 4 + 2 + 1 = 5 -&gt; {4,5,0,1,2} -&gt; OK</span>
+<a name="l00057"></a>00057 <span class="comment">// [1..1], travel the whole ring round</span>
+<a name="l00058"></a>00058 <span class="keywordtype">int</span> count = from_index &lt;= to_index
+<a name="l00059"></a>00059 ? to_index - from_index + 1
+<a name="l00060"></a>00060 : boost::size(ring) - from_index + to_index + 1;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; count; ++i, ++it)
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="comment">// TODO: use 'copy coordinates' to handle different point types</span>
+<a name="l00065"></a>00065 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00066"></a>00066 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">" add: ("</span>
+<a name="l00067"></a>00067 &lt;&lt; ggl::get&lt;0&gt;(*it) &lt;&lt; <span class="stringliteral">", "</span> &lt;&lt; ggl::get&lt;1&gt;(*it) &lt;&lt; <span class="stringliteral">")"</span>
+<a name="l00068"></a>00068 &lt;&lt; std::endl;
+<a name="l00069"></a>00069 <span class="preprocessor">#endif</span>
+<a name="l00070"></a>00070 <span class="preprocessor"></span> current_output.push_back(*it);
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073 };
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut&gt;
+<a name="l00077"></a>00077 <span class="keyword">struct </span>copy_segments_polygon
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>&amp; polygon,
+<a name="l00080"></a>00080 SegmentIdentifier <span class="keyword">const</span>&amp; seg_id, <span class="keywordtype">int</span> to_index,
+<a name="l00081"></a>00081 RangeOut&amp; current_output)
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="comment">// Call ring-version with the right ring</span>
+<a name="l00084"></a>00084 copy_segments_ring
+<a name="l00085"></a>00085 &lt;
+<a name="l00086"></a>00086 <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type&lt;Polygon&gt;::type</a>,
+<a name="l00087"></a>00087 SegmentIdentifier,
+<a name="l00088"></a>00088 RangeOut
+<a name="l00089"></a>00089 &gt;::apply
+<a name="l00090"></a>00090 (
+<a name="l00091"></a>00091 seg_id.ring_index &lt; 0
+<a name="l00092"></a>00092 ? <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon)
+<a name="l00093"></a>00093 : ggl::<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[seg_id.ring_index],
+<a name="l00094"></a>00094 seg_id, to_index,
+<a name="l00095"></a>00095 current_output
+<a name="l00096"></a>00096 );
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 };
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut&gt;
+<a name="l00102"></a>00102 <span class="keyword">struct </span>copy_segments_box
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box <span class="keyword">const</span>&amp; box,
+<a name="l00105"></a>00105 SegmentIdentifier <span class="keyword">const</span>&amp; seg_id, <span class="keywordtype">int</span> to_index,
+<a name="l00106"></a>00106 RangeOut&amp; current_output)
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="comment">// Convert again...</span>
+<a name="l00109"></a>00109 <span class="comment">// TODO: avoid that...</span>
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Box&gt;::type point_type;
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 point_type ll, lr, ul, ur;
+<a name="l00114"></a>00114 <a class="code" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271" title="Assign the 4 points of a 2D box.">assign_box_corners</a>(box, ll, lr, ul, ur);
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 std::vector&lt;point_type&gt; points;
+<a name="l00117"></a>00117 points.push_back(ll);
+<a name="l00118"></a>00118 points.push_back(ul);
+<a name="l00119"></a>00119 points.push_back(ur);
+<a name="l00120"></a>00120 points.push_back(lr);
+<a name="l00121"></a>00121 points.push_back(ll);
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 copy_segments_ring
+<a name="l00124"></a>00124 &lt;
+<a name="l00125"></a>00125 std::vector&lt;point_type&gt;,
+<a name="l00126"></a>00126 SegmentIdentifier,
+<a name="l00127"></a>00127 RangeOut
+<a name="l00128"></a>00128 &gt;
+<a name="l00129"></a>00129 ::apply(points, seg_id, to_index, current_output);
+<a name="l00130"></a>00130 }
+<a name="l00131"></a>00131 };
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 }} <span class="comment">// namespace detail::copy_segments</span>
+<a name="l00137"></a>00137 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00138"></a>00138 <span class="preprocessor"></span>
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keyword">template</span>
+<a name="l00145"></a>00145 &lt;
+<a name="l00146"></a>00146 <span class="keyword">typename</span> Tag,
+<a name="l00147"></a>00147 <span class="keyword">typename</span> GeometryIn,
+<a name="l00148"></a>00148 <span class="keyword">typename</span> SegmentIdentifier,
+<a name="l00149"></a>00149 <span class="keyword">typename</span> RangeOut
+<a name="l00150"></a>00150 &gt;
+<a name="l00151"></a>00151 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>
+<a name="l00152"></a>00152 {
+<a name="l00153"></a>00153 };
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut&gt;
+<a name="l00157"></a>00157 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>&lt;ring_tag, Ring, SegmentIdentifier, RangeOut&gt;
+<a name="l00158"></a>00158 : detail::<a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>::copy_segments_ring
+<a name="l00159"></a>00159 &lt;
+<a name="l00160"></a>00160 Ring, SegmentIdentifier, RangeOut
+<a name="l00161"></a>00161 &gt;
+<a name="l00162"></a>00162 {};
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut&gt;
+<a name="l00165"></a>00165 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>&lt;polygon_tag, Polygon, SegmentIdentifier, RangeOut&gt;
+<a name="l00166"></a>00166 : detail::<a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>::copy_segments_polygon
+<a name="l00167"></a>00167 &lt;
+<a name="l00168"></a>00168 Polygon, SegmentIdentifier, RangeOut
+<a name="l00169"></a>00169 &gt;
+<a name="l00170"></a>00170 {};
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut&gt;
+<a name="l00174"></a>00174 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>&lt;box_tag, Box, SegmentIdentifier, RangeOut&gt;
+<a name="l00175"></a>00175 : detail::<a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>::copy_segments_box
+<a name="l00176"></a>00176 &lt;
+<a name="l00177"></a>00177 Box, SegmentIdentifier, RangeOut
+<a name="l00178"></a>00178 &gt;
+<a name="l00179"></a>00179 {};
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 } <span class="comment">// namespace dispatch</span>
+<a name="l00184"></a>00184 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00185"></a>00185 <span class="preprocessor"></span>
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189
+<a name="l00194"></a>00194 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut&gt;
+<a name="l00195"></a><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">00195</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>(Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00196"></a>00196 SegmentIdentifier <span class="keyword">const</span>&amp; seg_id, <span class="keywordtype">int</span> to_index,
+<a name="l00197"></a>00197 RangeOut&amp; range_out)
+<a name="l00198"></a>00198 {
+<a name="l00199"></a>00199 <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">dispatch::copy_segments</a>
+<a name="l00200"></a>00200 &lt;
+<a name="l00201"></a>00201 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00202"></a>00202 Geometry,
+<a name="l00203"></a>00203 SegmentIdentifier,
+<a name="l00204"></a>00204 RangeOut
+<a name="l00205"></a>00205 &gt;::apply(geometry, seg_id, to_index, range_out);
+<a name="l00206"></a>00206 }
+<a name="l00207"></a>00207
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 } <span class="comment">// namespace ggl</span>
+<a name="l00210"></a>00210
+<a name="l00211"></a>00211 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAY_COPY_SEGMENTS_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/geometry_id.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1geometry__id.html">ggl::geometry_id&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function the id for a geometry 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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,140 @@
+<!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">
+&nbsp;&nbsp;
+</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/geometry_id.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_CORE_GEOMETRY_ID_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_GEOMETRY_ID_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 &lt;boost/mpl/int.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</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_DISPATCH</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag&gt;
+<a name="l00030"></a>00030 <span class="keyword">struct </span>geometry_id {};
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;&gt;
+<a name="l00034"></a>00034 <span class="keyword">struct </span>geometry_id&lt;point_tag&gt; : boost::mpl::int_&lt;1&gt; {};
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;&gt;
+<a name="l00038"></a>00038 <span class="keyword">struct </span>geometry_id&lt;linestring_tag&gt; : boost::mpl::int_&lt;2&gt; {};
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;&gt;
+<a name="l00042"></a>00042 <span class="keyword">struct </span>geometry_id&lt;polygon_tag&gt; : boost::mpl::int_&lt;3&gt; {};
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;&gt;
+<a name="l00046"></a>00046 <span class="keyword">struct </span>geometry_id&lt;nsphere_tag&gt; : boost::mpl::int_&lt;91&gt; {};
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;&gt;
+<a name="l00050"></a>00050 <span class="keyword">struct </span>geometry_id&lt;segment_tag&gt; : boost::mpl::int_&lt;92&gt; {};
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;&gt;
+<a name="l00054"></a>00054 <span class="keyword">struct </span>geometry_id&lt;ring_tag&gt; : boost::mpl::int_&lt;93&gt; {};
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;&gt;
+<a name="l00058"></a>00058 <span class="keyword">struct </span>geometry_id&lt;box_tag&gt; : boost::mpl::int_&lt;94&gt; {};
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00063"></a>00063 <span class="preprocessor">#endif</span>
+<a name="l00064"></a>00064 <span class="preprocessor"></span>
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066
+<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00073"></a><a class="code" href="structggl_1_1geometry__id.html">00073</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1geometry__id.html" title="Meta-function the id for a geometry type.">geometry_id</a> : core_dispatch::<a class="code" href="structggl_1_1geometry__id.html" title="Meta-function the id for a geometry type.">geometry_id</a>&lt;typename tag&lt;Geometry&gt;::type&gt;
+<a name="l00074"></a>00074 {};
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 } <span class="comment">// namespace ggl</span>
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="preprocessor">#endif // GGL_CORE_GEOMETRY_ID_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2is__multi_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2is__multi_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/is_multi.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1is__multi.html">ggl::is_multi&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining "true" for multi geometries (<a class="el" href="structggl_1_1multi__point.html">multi_point</a>, etc). More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2is__multi_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2is__multi_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/is_multi.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_CORE_IS_MULTI_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_IS_MULTI_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 &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag&gt;
+<a name="l00029"></a>00029 <span class="keyword">struct </span>is_multi : boost::false_type {};
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#endif</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span>
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037
+<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00043"></a><a class="code" href="structggl_1_1is__multi.html">00043</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi</a> : core_dispatch::<a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi</a>&lt;typename tag&lt;Geometry&gt;::type&gt;
+<a name="l00044"></a>00044 {};
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 } <span class="comment">// namespace ggl</span>
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="preprocessor">#endif // GGL_CORE_IS_MULTI_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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_type.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__type.html">ggl::point_type&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1point__type.html">ggl::traits::point_type&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class indicating the type of contained points. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,161 @@
+<!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">
+&nbsp;&nbsp;
+</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_type.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_CORE_POINT_TYPE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_POINT_TYPE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</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>traits {
+<a name="l00023"></a>00023
+<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00034"></a><a class="code" href="structggl_1_1traits_1_1point__type.html">00034</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1point__type.html" title="Traits class indicating the type of contained points.">point_type</a>
+<a name="l00035"></a>00035 {};
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 } <span class="comment">// namespace traits</span>
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00046"></a>00046 <span class="keyword">struct </span><a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 <span class="comment">// Default: call traits to get point type</span>
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const
+<a name="l00050"></a>00050 &lt;
+<a name="l00051"></a>00051 <span class="keyword">typename</span> <a class="code" href="structggl_1_1traits_1_1point__type.html" title="Traits class indicating the type of contained points.">traits::point_type&lt;Geometry&gt;::type</a>
+<a name="l00052"></a>00052 &gt;::type type;
+<a name="l00053"></a>00053 };
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="comment">// Specialization for point: the point itself</span>
+<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00058"></a>00058 <span class="keyword">struct </span>point_type&lt;point_tag, Point&gt;
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keyword">typedef</span> Point type;
+<a name="l00061"></a>00061 };
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="comment">// Specializations for linestring/linear ring, via boost::range</span>
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Line<span class="keywordtype">string</span>&gt;
+<a name="l00065"></a>00065 <span class="keyword">struct </span>point_type&lt;linestring_tag, Linestring&gt;
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Linestring&gt;::type type;
+<a name="l00068"></a>00068 };
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring&gt;
+<a name="l00071"></a>00071 <span class="keyword">struct </span>point_type&lt;ring_tag, Ring&gt;
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Ring&gt;::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="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00078"></a>00078 <span class="keyword">struct </span>point_type&lt;polygon_tag, Polygon&gt;
+<a name="l00079"></a>00079 {
+<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type
+<a name="l00081"></a>00081 &lt;
+<a name="l00082"></a>00082 ring_tag,
+<a name="l00083"></a>00083 <span class="keyword">typename</span> ring_type&lt;polygon_tag, Polygon&gt;::type
+<a name="l00084"></a>00084 &gt;::type type;
+<a name="l00085"></a>00085 };
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00088"></a>00088 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00089"></a>00089 <span class="preprocessor"></span>
+<a name="l00090"></a>00090
+<a name="l00095"></a>00095 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00096"></a><a class="code" href="structggl_1_1point__type.html">00096</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>
+<a name="l00097"></a>00097 {
+<a name="l00098"></a><a class="code" href="structggl_1_1point__type.html#6e4f57cc434784e7155016375d202b45">00098</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type <a class="code" href="structggl_1_1point__type.html#6e4f57cc434784e7155016375d202b45">ncg</a>;
+<a name="l00099"></a>00099 <span class="keyword">typedef</span> <span class="keyword">typename</span> core_dispatch::point_type&lt;
+<a name="l00100"></a><a class="code" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">00100</a> <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>, <a class="code" href="structggl_1_1point__type.html#6e4f57cc434784e7155016375d202b45">ncg</a>&gt;<a class="code" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">::type</a> <a class="code" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">type</a>;
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 };
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 } <span class="comment">// namespace ggl</span>
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="preprocessor">#endif // GGL_CORE_POINT_TYPE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2ring__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2ring__type_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/ring_type.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ring__type.html">ggl::ring_type&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function which defines ring type of (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1ring__type.html">ggl::traits::ring_type&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class to indicate ring-type of a polygon's exterior ring/interior rings. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2ring__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2ring__type_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,146 @@
+<!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">
+&nbsp;&nbsp;
+</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/ring_type.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 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_CORE_RING_TYPE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_RING_TYPE_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 &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>traits
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00038"></a><a class="code" href="structggl_1_1traits_1_1ring__type.html">00038</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1ring__type.html" title="Traits class to indicate ring-type of a polygon&amp;#39;s exterior ring/interior rings...">ring_type</a>
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="comment">// should define type</span>
+<a name="l00041"></a>00041 };
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 } <span class="comment">// namespace traits</span>
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry&gt; <span class="keyword">struct </span><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="l00057"></a>00057 {};
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00062"></a>00062 <span class="keyword">struct </span>ring_type&lt;polygon_tag, Polygon&gt;
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="keyword">typedef</span> <span class="keyword">typename</span> traits::ring_type&lt;Polygon&gt;::type type;
+<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">// namespace core_dispatch</span>
+<a name="l00071"></a>00071 <span class="preprocessor">#endif</span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span>
+<a name="l00073"></a>00073
+<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00082"></a><a class="code" href="structggl_1_1ring__type.html">00082</a> <span class="keyword">struct </span><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="l00083"></a>00083 {
+<a name="l00084"></a><a class="code" href="structggl_1_1ring__type.html#9e7c22c3cd86a0d47f41e15c01b6a299">00084</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type <a class="code" href="structggl_1_1ring__type.html#9e7c22c3cd86a0d47f41e15c01b6a299">ncg</a>;
+<a name="l00085"></a>00085 <span class="keyword">typedef</span> <span class="keyword">typename</span> core_dispatch::ring_type
+<a name="l00086"></a>00086 &lt;
+<a name="l00087"></a>00087 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>, <a class="code" href="structggl_1_1ring__type.html#9e7c22c3cd86a0d47f41e15c01b6a299">ncg</a>
+<a name="l00088"></a><a class="code" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">00088</a> &gt;<a class="code" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">::type</a> <a class="code" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">type</a>;
+<a name="l00089"></a>00089 };
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 }
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="preprocessor">#endif // GGL_CORE_RING_TYPE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/tags.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1box__tag.html">ggl::box_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience 2D or 3D <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> (mbr) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cartesian__tag.html">ggl::cartesian_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tag indicating Cartesian coordinate system family (cartesian,epsg). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1geographic__tag.html">ggl::geographic_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tag indicating Geographic coordinate system family (geographic). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1geometry__not__recognized__tag.html">ggl::geometry_not_recognized_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">"default" <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1linestring__tag.html">ggl::linestring_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OGC Linestring identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1nsphere__tag.html">ggl::nsphere_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience 2D (circle) or 3D (sphere) n-sphere identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__tag.html">ggl::point_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1polygon__tag.html">ggl::polygon_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OGC Polygon identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ring__tag.html">ggl::ring_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience (linear) ring identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__tag.html">ggl::segment_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1spherical__tag.html">ggl::spherical_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tag indicating Spherical coordinate system family (spherical,celestial,...). More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/tags.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_CORE_TAGS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_TAGS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
+<a name="l00020"></a>00020 {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="comment">// Tags defining strategies linked to coordinate systems</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00026"></a><a class="code" href="structggl_1_1cartesian__tag.html">00026</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1cartesian__tag.html" title="Tag indicating Cartesian coordinate system family (cartesian,epsg).">cartesian_tag</a> {};
+<a name="l00027"></a>00027
+<a name="l00029"></a><a class="code" href="structggl_1_1geographic__tag.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1geographic__tag.html" title="Tag indicating Geographic coordinate system family (geographic).">geographic_tag</a> {};
+<a name="l00030"></a>00030
+<a name="l00032"></a><a class="code" href="structggl_1_1spherical__tag.html">00032</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1spherical__tag.html" title="Tag indicating Spherical coordinate system family (spherical,celestial,...).">spherical_tag</a> {};
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="comment">// Tags defining geometry types</span>
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037
+<a name="l00039"></a><a class="code" href="structggl_1_1geometry__not__recognized__tag.html">00039</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">geometry_not_recognized_tag</a> {};
+<a name="l00040"></a>00040
+<a name="l00042"></a><a class="code" href="structggl_1_1point__tag.html">00042</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1point__tag.html" title="OGC Point identifying tag.">point_tag</a> {};
+<a name="l00043"></a>00043
+<a name="l00045"></a><a class="code" href="structggl_1_1linestring__tag.html">00045</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1linestring__tag.html" title="OGC Linestring identifying tag.">linestring_tag</a> {};
+<a name="l00046"></a>00046
+<a name="l00048"></a><a class="code" href="structggl_1_1polygon__tag.html">00048</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1polygon__tag.html" title="OGC Polygon identifying tag.">polygon_tag</a> {};
+<a name="l00049"></a>00049
+<a name="l00051"></a><a class="code" href="structggl_1_1ring__tag.html">00051</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1ring__tag.html" title="Convenience (linear) ring identifying tag.">ring_tag</a> {};
+<a name="l00052"></a>00052
+<a name="l00054"></a><a class="code" href="structggl_1_1box__tag.html">00054</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1box__tag.html" title="Convenience 2D or 3D box (mbr) identifying tag.">box_tag</a> {};
+<a name="l00055"></a>00055
+<a name="l00057"></a><a class="code" href="structggl_1_1nsphere__tag.html">00057</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1nsphere__tag.html" title="Convenience 2D (circle) or 3D (sphere) n-sphere identifying tag.">nsphere_tag</a> {};
+<a name="l00058"></a>00058
+<a name="l00060"></a><a class="code" href="structggl_1_1segment__tag.html">00060</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1segment__tag.html" title="Convenience segment (2-points) identifying tag.">segment_tag</a> {};
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 } <span class="comment">// namespace ggl</span>
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="preprocessor">#endif // GGL_CORE_TAGS_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/topological_dimension.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1topological__dimension.html">ggl::topological_dimension&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function returning the topological <a class="el" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension</a> of a geometry. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,146 @@
+<!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">
+&nbsp;&nbsp;
+</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/topological_dimension.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_CORE_TOPOLOGICAL_DIMENSION_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_TOPOLOGICAL_DIMENSION_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 &lt;boost/mpl/int.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</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_DISPATCH</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag&gt;
+<a name="l00030"></a>00030 <span class="keyword">struct </span>top_dim {};
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;&gt;
+<a name="l00034"></a>00034 <span class="keyword">struct </span>top_dim&lt;point_tag&gt; : boost::mpl::int_&lt;0&gt; {};
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;&gt;
+<a name="l00038"></a>00038 <span class="keyword">struct </span>top_dim&lt;linestring_tag&gt; : boost::mpl::int_&lt;1&gt; {};
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;&gt;
+<a name="l00042"></a>00042 <span class="keyword">struct </span>top_dim&lt;segment_tag&gt; : boost::mpl::int_&lt;1&gt; {};
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="comment">// ring: topological dimension of two, but some people say: 1 !!</span>
+<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;&gt;
+<a name="l00047"></a>00047 <span class="keyword">struct </span>top_dim&lt;ring_tag&gt; : boost::mpl::int_&lt;2&gt; {};
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;&gt;
+<a name="l00051"></a>00051 <span class="keyword">struct </span>top_dim&lt;box_tag&gt; : boost::mpl::int_&lt;2&gt; {};
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;&gt;
+<a name="l00055"></a>00055 <span class="keyword">struct </span>top_dim&lt;polygon_tag&gt; : boost::mpl::int_&lt;2&gt; {};
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="comment">// nsphere: 2, but there is discussion. Is it CLOSED? Then 2, but</span>
+<a name="l00059"></a>00059 <span class="comment">// then it should be called "disk"...</span>
+<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;&gt;
+<a name="l00061"></a>00061 <span class="keyword">struct </span>top_dim&lt;nsphere_tag&gt; : boost::mpl::int_&lt;2&gt; {};
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00067"></a>00067 <span class="preprocessor">#endif</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span>
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072
+<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00082"></a><a class="code" href="structggl_1_1topological__dimension.html">00082</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1topological__dimension.html" title="Meta-function returning the topological dimension of a geometry.">topological_dimension</a>
+<a name="l00083"></a>00083 : core_dispatch::top_dim&lt;typename tag&lt;Geometry&gt;::type&gt; {};
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 } <span class="comment">// namespace ggl</span>
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="preprocessor">#endif // GGL_CORE_TOPOLOGICAL_DIMENSION_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cs_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cs_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,107 @@
+<!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">
+&nbsp;&nbsp;
+</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/cs.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1cartesian.html">ggl::cs::cartesian</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cartesian coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1geographic.html">ggl::cs::geographic&lt; DegreeOrRadian &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Geographic coordinate system, in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> or in <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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1polar.html">ggl::cs::polar&lt; DegreeOrRadian &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Polar coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1spherical.html">ggl::cs::spherical&lt; DegreeOrRadian &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spherical coordinate system, in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> or in <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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs__tag.html">ggl::cs_tag&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function returning coordinate system <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> (<a class="el" href="namespaceggl_1_1cs.html">cs</a> family) of any geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1degree.html">ggl::degree</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unit of plan angles: degrees. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1is__radian.html">ggl::is_radian&lt; CoordinateSystem &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1radian.html">ggl::radian</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unit of plan angles: radians. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1cs__tag.html">ggl::traits::cs_tag&lt; CoordinateSystem &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class defining coordinate system <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">tag</a>, bound to coordinate system. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cs_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cs_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,181 @@
+<!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">
+&nbsp;&nbsp;
+</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/cs.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_CORE_CS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__system_8hpp.html">ggl/core/coordinate_system.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>ggl
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028
+<a name="l00033"></a><a class="code" href="classggl_1_1degree.html">00033</a> <span class="keyword">class </span><a class="code" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> {};
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035
+<a name="l00040"></a><a class="code" href="classggl_1_1radian.html">00040</a> <span class="keyword">class </span><a class="code" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a> {};
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042
+<a name="l00043"></a><a class="code" href="namespaceggl_1_1cs.html">00043</a> <span class="keyword">namespace </span>cs
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045
+<a name="l00053"></a><a class="code" href="structggl_1_1cs_1_1cartesian.html">00053</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1cs_1_1cartesian.html" title="Cartesian coordinate system.">cartesian</a> {};
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057
+<a name="l00066"></a>00066 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> DegreeOrRadian&gt;
+<a name="l00067"></a><a class="code" href="structggl_1_1cs_1_1geographic.html">00067</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1cs_1_1geographic.html" title="Geographic coordinate system, in degree or in radian.">geographic</a>
+<a name="l00068"></a>00068 {
+<a name="l00069"></a><a class="code" href="structggl_1_1cs_1_1geographic.html#239d9464e962c80a3b52cd2934ce1779">00069</a> <span class="keyword">typedef</span> DegreeOrRadian <a class="code" href="structggl_1_1cs_1_1geographic.html#239d9464e962c80a3b52cd2934ce1779">units</a>;
+<a name="l00070"></a>00070 };
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073
+<a name="l00089"></a>00089 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> DegreeOrRadian&gt;
+<a name="l00090"></a><a class="code" href="structggl_1_1cs_1_1spherical.html">00090</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1cs_1_1spherical.html" title="Spherical coordinate system, in degree or in radian.">spherical</a>
+<a name="l00091"></a>00091 {
+<a name="l00092"></a><a class="code" href="structggl_1_1cs_1_1spherical.html#5c75c8921bae27e9e214d4b57a3cdd75">00092</a> <span class="keyword">typedef</span> DegreeOrRadian <a class="code" href="structggl_1_1cs_1_1spherical.html#5c75c8921bae27e9e214d4b57a3cdd75">units</a>;
+<a name="l00093"></a>00093 };
+<a name="l00094"></a>00094
+<a name="l00101"></a>00101 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> DegreeOrRadian&gt;
+<a name="l00102"></a><a class="code" href="structggl_1_1cs_1_1polar.html">00102</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1cs_1_1polar.html" title="Polar coordinate system.">polar</a>
+<a name="l00103"></a>00103 {
+<a name="l00104"></a><a class="code" href="structggl_1_1cs_1_1polar.html#6df418ef5da7108d03efbe7c8c0006f2">00104</a> <span class="keyword">typedef</span> DegreeOrRadian <a class="code" href="structggl_1_1cs_1_1polar.html#6df418ef5da7108d03efbe7c8c0006f2">units</a>;
+<a name="l00105"></a>00105 };
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 } <span class="comment">// namespace cs</span>
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="keyword">namespace </span>traits
+<a name="l00111"></a>00111 {
+<a name="l00117"></a>00117 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateSystem&gt;
+<a name="l00118"></a><a class="code" href="structggl_1_1traits_1_1cs__tag.html">00118</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1cs__tag.html" title="Traits class defining coordinate system tag, bound to coordinate system.">cs_tag</a>
+<a name="l00119"></a>00119 {
+<a name="l00120"></a>00120 };
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00123"></a>00123 <span class="preprocessor"></span>
+<a name="l00124"></a>00124 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> DegreeOrRadian&gt;
+<a name="l00125"></a>00125 <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1cs__tag.html" title="Traits class defining coordinate system tag, bound to coordinate system.">cs_tag</a>&lt;cs::geographic&lt;DegreeOrRadian&gt; &gt;
+<a name="l00126"></a>00126 {
+<a name="l00127"></a>00127 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1geographic__tag.html" title="Tag indicating Geographic coordinate system family (geographic).">geographic_tag</a> type;
+<a name="l00128"></a>00128 };
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> DegreeOrRadian&gt;
+<a name="l00131"></a>00131 <span class="keyword">struct </span><a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag</a>&lt;cs::spherical&lt;DegreeOrRadian&gt; &gt;
+<a name="l00132"></a>00132 {
+<a name="l00133"></a>00133 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1spherical__tag.html" title="Tag indicating Spherical coordinate system family (spherical,celestial,...).">spherical_tag</a> type;
+<a name="l00134"></a>00134 };
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="keyword">template</span>&lt;&gt;
+<a name="l00137"></a>00137 <span class="keyword">struct </span>cs_tag&lt;cs::cartesian&gt;
+<a name="l00138"></a>00138 {
+<a name="l00139"></a>00139 <span class="keyword">typedef</span> cartesian_tag type;
+<a name="l00140"></a>00140 };
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00144"></a>00144 <span class="preprocessor"></span>} <span class="comment">// namespace traits</span>
+<a name="l00145"></a>00145
+<a name="l00150"></a>00150 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00151"></a><a class="code" href="structggl_1_1cs__tag.html">00151</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag</a>
+<a name="l00152"></a>00152 {
+<a name="l00153"></a>00153 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1traits_1_1cs__tag.html" title="Traits class defining coordinate system tag, bound to coordinate system.">traits::cs_tag</a>
+<a name="l00154"></a>00154 &lt;
+<a name="l00155"></a>00155 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">ggl::coordinate_system&lt;G&gt;::type</a>
+<a name="l00156"></a><a class="code" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">00156</a> &gt;<a class="code" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">::type</a> <a class="code" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">type</a>;
+<a name="l00157"></a>00157 };
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159
+<a name="l00164"></a>00164 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateSystem&gt;
+<a name="l00165"></a><a class="code" href="structggl_1_1is__radian.html">00165</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1is__radian.html" title="Meta-function to verify if a coordinate system is radian.">is_radian</a> : boost::true_type {};
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="preprocessor">#ifndef DOXYGEN_NO_SPECIALIZATIONS</span>
+<a name="l00169"></a>00169 <span class="preprocessor"></span>
+<a name="l00170"></a>00170 <span class="comment">// Specialization for any degree coordinate systems</span>
+<a name="l00171"></a>00171 <span class="keyword">template</span> &lt;<span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>CoordinateSystem&gt;
+<a name="l00172"></a>00172 <span class="keyword">struct </span><a class="code" href="structggl_1_1is__radian.html" title="Meta-function to verify if a coordinate system is radian.">is_radian</a>&lt; CoordinateSystem&lt;<a class="code" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a>&gt; &gt; : boost::false_type
+<a name="l00173"></a>00173 {
+<a name="l00174"></a>00174 };
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 <span class="preprocessor">#endif // DOXYGEN_NO_SPECIALIZATIONS</span>
+<a name="l00177"></a>00177 <span class="preprocessor"></span>
+<a name="l00178"></a>00178 } <span class="comment">// namespace ggl</span>
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180 <span class="preprocessor">#endif // GGL_CORE_CS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/de9im_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/de9im_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,82 @@
+<!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">
+&nbsp;&nbsp;
+</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/policies/relate/de9im.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1policies.html">ggl::policies</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/de9im_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/de9im_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/policies/relate/de9im.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_GEOMETRY_POLICIES_RELATE_DE9IM_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRY_POLICIES_RELATE_DE9IM_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 &lt;<a class="code" href="intersection__result_8hpp.html">ggl/strategies/intersection_result.hpp</a>&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>&gt;</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><a class="code" href="namespaceggl_1_1policies_1_1relate.html">00021</a> <span class="keyword">namespace </span>policies { <span class="keyword">namespace </span>relate {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S1, <span class="keyword">typename</span> S2&gt;
+<a name="l00025"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">00025</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">segments_de9im</a>
+<a name="l00026"></a>00026 {
+<a name="l00027"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#93b91d42efd81a1b75c016fe886bd3b4">00027</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a> <a class="code" href="structggl_1_1de9im__segment.html">return_type</a>;
+<a name="l00028"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#54550d451a6a983ef03643c1d03298cc">00028</a> <span class="keyword">typedef</span> S1 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#54550d451a6a983ef03643c1d03298cc">segment_type1</a>;
+<a name="l00029"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#fd7fc33e6182aa0a02079261b98af377">00029</a> <span class="keyword">typedef</span> S2 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#fd7fc33e6182aa0a02079261b98af377">segment_type2</a>;
+<a name="l00030"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#552bc7eddefee9641c7da37c71e2dc54">00030</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type&lt;S1, S2&gt;::type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
+<a name="l00031"></a>00031
+<a name="l00032"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3aab22f63cc115f292a3ddbff5450f43">00032</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3aab22f63cc115f292a3ddbff5450f43">rays_intersect</a>(<span class="keywordtype">bool</span> on_segment,
+<a name="l00033"></a>00033 <span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> rb,
+<a name="l00034"></a>00034 <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>&amp; dx1, <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>&amp; dy1,
+<a name="l00035"></a>00035 <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>&amp; dx2, <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>&amp; dy2,
+<a name="l00036"></a>00036 <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>&amp; wx, <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>&amp; wy,
+<a name="l00037"></a>00037 S1 <span class="keyword">const</span>&amp; s1, S2 <span class="keyword">const</span>&amp; s2)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keywordflow">if</span>(on_segment)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="comment">// 0 &lt;= ra &lt;= 1 and 0 &lt;= rb &lt;= 1</span>
+<a name="l00042"></a>00042 <span class="comment">// Now check if one of them is 0 or 1, these are "touch" cases</span>
+<a name="l00043"></a>00043 <span class="keywordtype">bool</span> a = <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(ra, 0.0) || <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(ra, 1.0);
+<a name="l00044"></a>00044 <span class="keywordtype">bool</span> b = <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(rb, 0.0) || <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(rb, 1.0);
+<a name="l00045"></a>00045 <span class="keywordflow">if</span> (a &amp;&amp; b)
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="comment">// Touch boundary/boundary: i-i == -1, i-b == -1, b-b == 0</span>
+<a name="l00048"></a>00048 <span class="comment">// Opposite: if both are equal they touch in opposite direction</span>
+<a name="l00049"></a>00049 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(ra,rb,
+<a name="l00050"></a>00050 -1, -1, 1,
+<a name="l00051"></a>00051 -1, 0, 0,
+<a name="l00052"></a>00052 1, 0, 2, <span class="keyword">false</span>, <a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">math::equals</a>(ra,rb));
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (a || b)
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="comment">// Touch boundary/interior: i-i == -1, i-b == -1 or 0, b-b == -1</span>
+<a name="l00057"></a>00057 <span class="keywordtype">int</span> A = a ? 0 : -1;
+<a name="l00058"></a>00058 <span class="keywordtype">int</span> B = b ? 0 : -1;
+<a name="l00059"></a>00059 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(ra,rb,
+<a name="l00060"></a>00060 -1, B, 1,
+<a name="l00061"></a>00061 A, -1, 0,
+<a name="l00062"></a>00062 1, 0, 2);
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="comment">// Intersects: i-i == 0, i-b == -1, i-e == 1</span>
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(ra,rb,
+<a name="l00067"></a>00067 0, -1, 1,
+<a name="l00068"></a>00068 -1, -1, 0,
+<a name="l00069"></a>00069 1, 0, 2);
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="comment">// Not on segment, disjoint</span>
+<a name="l00073"></a>00073 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(ra,rb,
+<a name="l00074"></a>00074 -1, -1, 1,
+<a name="l00075"></a>00075 -1, -1, 0,
+<a name="l00076"></a>00076 1, 0, 2);
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078
+<a name="l00079"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c9112222bb21c8bbc164008c9bdbfa24">00079</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c9112222bb21c8bbc164008c9bdbfa24">collinear_touch</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>&amp; x,
+<a name="l00080"></a>00080 <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>&amp; y, <span class="keywordtype">bool</span> opposite, <span class="keywordtype">char</span>)
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(0,0,
+<a name="l00083"></a>00083 -1, -1, 1,
+<a name="l00084"></a>00084 -1, 0, 0,
+<a name="l00085"></a>00085 1, 0, 2,
+<a name="l00086"></a>00086 <span class="keyword">true</span>, opposite);
+<a name="l00087"></a>00087 }
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00090"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#eb5b99875c3518bb6263b983041c4cf3">00090</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#eb5b99875c3518bb6263b983041c4cf3">collinear_interior_boundary_intersect</a>(S <span class="keyword">const</span>&amp; s,
+<a name="l00091"></a>00091 <span class="keywordtype">bool</span> a_within_b, <span class="keywordtype">bool</span> opposite)
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="keywordflow">return</span> a_within_b
+<a name="l00094"></a>00094 ? <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(0,0,
+<a name="l00095"></a>00095 1, -1, -1,
+<a name="l00096"></a>00096 0, 0, -1,
+<a name="l00097"></a>00097 1, 0, 2,
+<a name="l00098"></a>00098 <span class="keyword">true</span>, opposite)
+<a name="l00099"></a>00099 : de9im_segment(0,0,
+<a name="l00100"></a>00100 1, 0, 1,
+<a name="l00101"></a>00101 -1, 0, 0,
+<a name="l00102"></a>00102 -1, -1, 2,
+<a name="l00103"></a>00103 <span class="keyword">true</span>, opposite);
+<a name="l00104"></a>00104 }
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107
+<a name="l00108"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#f5c67f6d1fb6bc02730f9942c1a24829">00108</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#f5c67f6d1fb6bc02730f9942c1a24829">collinear_a_in_b</a>(S1 <span class="keyword">const</span>&amp; s, <span class="keywordtype">bool</span> opposite)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(0,0,
+<a name="l00111"></a>00111 1, -1, -1,
+<a name="l00112"></a>00112 0, -1, -1,
+<a name="l00113"></a>00113 1, 0, 2,
+<a name="l00114"></a>00114 <span class="keyword">true</span>, opposite);
+<a name="l00115"></a>00115 }
+<a name="l00116"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#e62d1ab6f50141636f04f5ae514e206b">00116</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#e62d1ab6f50141636f04f5ae514e206b">collinear_b_in_a</a>(<span class="keyword">const</span> S2&amp; s, <span class="keywordtype">bool</span> opposite)
+<a name="l00117"></a>00117 {
+<a name="l00118"></a>00118 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(0,0,
+<a name="l00119"></a>00119 1, 0, 1,
+<a name="l00120"></a>00120 -1, -1, 0,
+<a name="l00121"></a>00121 -1, -1, 2,
+<a name="l00122"></a>00122 <span class="keyword">true</span>, opposite);
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124
+<a name="l00125"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#798750f9c6e3ca554cef83e7ecbdb9cd">00125</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#798750f9c6e3ca554cef83e7ecbdb9cd">collinear_overlaps</a>(
+<a name="l00126"></a>00126 <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>&amp; x1, <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>&amp; y1,
+<a name="l00127"></a>00127 <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>&amp; x2, <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>&amp; y2, <span class="keywordtype">bool</span> opposite)
+<a name="l00128"></a>00128 {
+<a name="l00129"></a>00129 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(0,0,
+<a name="l00130"></a>00130 1, 0, 1,
+<a name="l00131"></a>00131 0, -1, 0,
+<a name="l00132"></a>00132 1, 0, 2,
+<a name="l00133"></a>00133 <span class="keyword">true</span>, opposite);
+<a name="l00134"></a>00134 }
+<a name="l00135"></a>00135
+<a name="l00136"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#a36b30cceae8d736831ff406707dfd2d">00136</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#a36b30cceae8d736831ff406707dfd2d">segment_equal</a>(S1 <span class="keyword">const</span>&amp; s, <span class="keywordtype">bool</span> opposite)
+<a name="l00137"></a>00137 {
+<a name="l00138"></a>00138 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(0,0,
+<a name="l00139"></a>00139 1, -1, -1,
+<a name="l00140"></a>00140 -1, 0, -1,
+<a name="l00141"></a>00141 -1, -1, 2,
+<a name="l00142"></a>00142 <span class="keyword">true</span>, opposite);
+<a name="l00143"></a>00143 }
+<a name="l00144"></a>00144
+<a name="l00145"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c38201cbc6a2788b300413a7f90103b2">00145</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c38201cbc6a2788b300413a7f90103b2">degenerate</a>(S1 <span class="keyword">const</span>&amp; <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>, <span class="keywordtype">bool</span> a_degenerate)
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 <span class="keywordflow">return</span> a_degenerate
+<a name="l00148"></a>00148 ? <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(0,0,
+<a name="l00149"></a>00149 0, -1, -1,
+<a name="l00150"></a>00150 -1, -1, -1,
+<a name="l00151"></a>00151 1, 0, 2,
+<a name="l00152"></a>00152 <span class="keyword">false</span>, <span class="keyword">false</span>, <span class="keyword">false</span>, <span class="keyword">true</span>)
+<a name="l00153"></a>00153 : de9im_segment(0,0,
+<a name="l00154"></a>00154 0, -1, 1,
+<a name="l00155"></a>00155 -1, -1, 0,
+<a name="l00156"></a>00156 -1, -1, 2,
+<a name="l00157"></a>00157 <span class="keyword">false</span>, <span class="keyword">false</span>, <span class="keyword">false</span>, <span class="keyword">true</span>);
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159
+<a name="l00160"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#7e36a5671574be928045baec27dcfe0d">00160</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#7e36a5671574be928045baec27dcfe0d">collinear_disjoint</a>()
+<a name="l00161"></a>00161 {
+<a name="l00162"></a>00162 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(0,0,
+<a name="l00163"></a>00163 -1, -1, 1,
+<a name="l00164"></a>00164 -1, -1, 0,
+<a name="l00165"></a>00165 1, 0, 2,
+<a name="l00166"></a>00166 <span class="keyword">true</span>);
+<a name="l00167"></a>00167 }
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169
+<a name="l00170"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3887cd4e999e77056841445b19f82628">00170</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3887cd4e999e77056841445b19f82628">parallel</a>()
+<a name="l00171"></a>00171 {
+<a name="l00172"></a>00172 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(0,0,
+<a name="l00173"></a>00173 -1, -1, 1,
+<a name="l00174"></a>00174 -1, -1, 0,
+<a name="l00175"></a>00175 1, 0, 2, <span class="keyword">false</span>, <span class="keyword">false</span>, <span class="keyword">true</span>);
+<a name="l00176"></a>00176 }
+<a name="l00177"></a>00177 };
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180 }} <span class="comment">// namespace policies::relate</span>
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 } <span class="comment">// namespace ggl</span>
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 <span class="preprocessor">#endif // GGL_GEOMETRY_POLICIES_RELATE_DE9IM_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/design.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/design.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,597 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1><a class="anchor" name="design">Design rationale </a></h1><h2><a class="anchor" name="par1">
+Introduction</a></h2>
+Suppose you need C++ software to calculate the distance between two points. You might define a struct:<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">struct </span>mypoint
+{
+ <span class="keywordtype">double</span> x, y;
+};
+</pre></div><p>
+And a function, containing the algorithm: <div class="fragment"><pre class="fragment"><span class="keywordtype">double</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(mypoint <span class="keyword">const</span>&amp; a,
+ mypoint <span class="keyword">const</span>&amp; b)
+{
+ <span class="keywordtype">double</span> dx = a.x - b.x;
+ <span class="keywordtype">double</span> dy = a.y - b.y;
+ <span class="keywordflow">return</span> sqrt(dx * dx + dy * dy);
+}
+</pre></div><p>
+Quite simple, and it is usable, but not generic. For a library it has to be designed way further. The design above can only be used for 2D points, for the struct point (and no other struct), in a Cartesian coordinate system. A generic library should be able to calculate the distance:<ul>
+<li>for any point class or struct, not on just this ‘mypoint’ type</li><li>in more than two dimensions</li><li>for other coordinate systems, e.g. over the earth or over a sphere</li><li>between a point and a line or between other geometry combinations</li><li>in higher precision than ‘double’</li><li>avoiding the square root: often we don’t want to do that because it is a relatively expensive function, and for comparing distances it is not necessary. In this page we will make the design step by step more generic.</li></ul>
+<h2><a class="anchor" name="par2">
+Using templates</a></h2>
+The distance function can be changed into a template function. This is trivial and allows calculating the distance between other point types than just ‘mypoint’. We add two template parameters, allowing input of two different point types.<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<span class="keywordtype">double</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(P1 <span class="keyword">const</span>&amp; a, P2 <span class="keyword">const</span>&amp; b)
+{
+ <span class="keywordtype">double</span> dx = a.x - b.x;
+ <span class="keywordtype">double</span> dy = a.y - b.y;
+ <span class="keywordflow">return</span> sqrt(dx * dx + dy * dy);
+}
+</pre></div><p>
+This template version is slightly better, but not much. Consider a C++ class where member variables are protected… Such a class does not allow to access .x and .y directly. So this paragraph is short and we just go on.<h2><a class="anchor" name="par3">
+Using traits</a></h2>
+We need to take a generic approach and allow any point type as input to the distance function. Instead of accessing .x and .y, we will add a few levels of indirection, using a traits system. The function then becomes: <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<span class="keywordtype">double</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(P1 <span class="keyword">const</span>&amp; a, P2 <span class="keyword">const</span>&amp; b)
+{
+ <span class="keywordtype">double</span> dx = get&lt;0&gt;(a) - get&lt;0&gt;(b);
+ <span class="keywordtype">double</span> dy = get&lt;1&gt;(a) - get&lt;1&gt;(b);
+ <span class="keywordflow">return</span> sqrt(dx * dx + dy * dy);
+}
+</pre></div><p>
+This adapted distance function uses a generic get function, with dimension as a template parameter, to access the coordinates of a point. This get forwards to the traits system, defined as following: <div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>traits
+{
+ <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keywordtype">int</span> D&gt;
+ <span class="keyword">struct </span>access {};
+}
+</pre></div><p>
+which is then specialized for our ‘mypoint’ type, implementing a static method called ‘get’: <div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>traits
+{
+ <span class="keyword">template</span> &lt;&gt;
+ <span class="keyword">struct </span>access&lt;mypoint, 0&gt;
+ {
+ <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(mypoint <span class="keyword">const</span>&amp; p)
+ {
+ <span class="keywordflow">return</span> p.x;
+ }
+ };
+ <span class="comment">// same for 1: p.y</span>
+ ...
+}
+</pre></div><p>
+Calling traits::access&lt;point, 0&gt;::get(a) now returns us our x-coordinate. Nice? It is too verbose for a function like this, used so often in the library. We can shorten the syntax by adding an extra function: template &lt;int D, typename P&gt; <div class="fragment"><pre class="fragment"><span class="keyword">inline</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(P <span class="keyword">const</span>&amp; p)
+{
+ <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::access&lt;P, D&gt;::get</a>(p);
+}
+</pre></div><p>
+This enables us to call get&lt;0&gt;(a), for any point having the traits::access specialization, as shown in the distance algorithm at the start of this paragraph. So we wanted to enable classes with methods like .x(), and they are supported as long as there is a specialization of the access struct with a static get function returning .x() for dimension 0, and similar for 1 and .y(). Alternatively we can have, in the traits class, the dimension as a template parameter in a member template function:<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;&gt;
+<span class="keyword">struct </span>access&lt;mypoint&gt;
+{
+ <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> D&gt;
+ <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(mypoint <span class="keyword">const</span>&amp; p)
+ <span class="comment">// either return x/y using an if-clause</span>
+ <span class="comment">// or call a detail-struct specialized</span>
+ <span class="comment">// per dimension</span>
+};
+</pre></div><p>
+This alternative gives in the end the same functionality, either using an if-clause (slower), or adding another level of indirection. <b>This last version is used in GGL</b><h2><a class="anchor" name="par4">
+Dimension agnosticism</a></h2>
+Now we can calculate the distance between points in 2D, points of any structure or class. However, we wanted to have 3D as well. So we have to make it dimension agnostic. This complicates our distance function. We can use a for-loop to walk through dimensions, but for loops have another performance than the addition which was there originally. However, we can make more usage of templates and make the distance algorithm as following, more complex but attractive for template fans: <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keywordtype">int</span> D&gt;
+<span class="keyword">struct </span>pythagoras
+{
+ <span class="keyword">static</span> <span class="keywordtype">double</span> apply(P1 <span class="keyword">const</span>&amp; a,
+ P2 <span class="keyword">const</span>&amp; b)
+ {
+ <span class="keywordtype">double</span> d = <span class="keyword">get</span>&lt;D-1&gt;(a) - get&lt;D-1&gt;(b);
+ <span class="keywordflow">return</span> d * d + pythagoras
+ &lt;P1, P2, D-1&gt;
+ ::apply(a, b);
+ }
+};
+
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2 &gt;
+<span class="keyword">struct </span>pythagoras&lt;P1, P2, 0&gt;
+{
+ <span class="keyword">static</span> <span class="keywordtype">double</span> apply(P1 <span class="keyword">const</span>&amp;,
+ P2 <span class="keyword">const</span>&amp;)
+ {
+ <span class="keywordflow">return</span> 0;
+ }
+};
+</pre></div><p>
+The distance function is calling that pythagoras struct, specifying the number of dimensions: <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<span class="keywordtype">double</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(P1 <span class="keyword">const</span>&amp; a, P2 <span class="keyword">const</span>&amp; b)
+{
+ BOOST_STATIC_ASSERT((
+ <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;P1&gt;::value</a>
+ == <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;P2&gt;::value</a> ));
+
+ <span class="keywordflow">return</span> sqrt(pythagoras
+ &lt;P1, P2, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;P1&gt;::value</a>&gt;
+ :: apply(a, b));
+}
+</pre></div><p>
+The dimension which is referred to is defined using another traits class: <div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>traits
+{
+ <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+ <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a> {};
+}
+</pre></div><p>
+which has to be specialized again for the struct ‘mypoint’. Because it only has to publish a value, we conveniently derive it from the Boost Meta-Programming Library (MPL) class boost::mpl::int_: <div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>traits
+{
+ <span class="keyword">template</span> &lt;&gt;
+ <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;mypoint&gt;
+ : boost::mpl::int_&lt;2&gt;
+ {};
+}
+</pre></div><p>
+Like the free get function, the library also contains a dimension meta-function. <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a> : traits::<a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;P&gt;
+{};
+</pre></div><p>
+Below is explained why the extra declaration is useful. Now we have agnosticism in the number of dimensions. Our more generic distance function now accepts points of three or more dimensions. The compile-time assertion will prevent point a having two dimension and point b having three dimensions.<h2><a class="anchor" name="par5">
+Coordinate type</a></h2>
+We assumed double above. What if our points are in integer? We can easily add a traits class, and we will do that. However, the distance between two integer coordinates can still be a fractionized value. Besides that, a design goal was to avoid square roots. We handle these cases below, in another paragraph. For the moment we keep returning double, but we allow integer coordinates for our point types. To define the coordinate type, we add another traits class, coordinate_type, which should be specialized by the library user: <div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>traits
+{
+ <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+ <span class="keyword">struct </span>coordinate_type{};
+
+ <span class="comment">// specialization for our mypoint</span>
+ <span class="keyword">template</span> &lt;&gt;
+ <span class="keyword">struct </span>coordinate_type&lt;mypoint&gt;
+ {
+ <span class="keyword">typedef</span> <span class="keywordtype">double</span> type;
+ };
+}
+</pre></div><p>
+Like the access function, where we had a free get function, we add a proxy here as well. A longer version is presented later on, the short function would look like this:<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<span class="keyword">struct </span>coordinate_type : traits::coordinate_type&lt;P&gt; {};
+</pre></div><p>
+We now can modify our distance algorithm again. Because it still returns double, we only modify the Pythagoras computation class. It should return the coordinate type of its input. But… it has two input, possibly different, point types. They might also differ in their coordinate types. Not that that is very likely, but we’re designing a generic library and we should handle those strange cases. We have to choose one of the coordinate types and of course we select the one with the highest precision. This is not worked out here, it would be too long, and it is not related to geometry. We just assume that there is a meta-function select_most_precise selecting the best type. So our computation class becomes: <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keywordtype">int</span> D&gt;
+<span class="keyword">struct </span>pythagoras
+{
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> select_most_precise
+ &lt;
+ <span class="keyword">typename</span> coordinate_type&lt;P1&gt;::type,
+ <span class="keyword">typename</span> coordinate_type&lt;P2&gt;::type
+ &gt;::type computation_type;
+
+ <span class="keyword">static</span> computation_type apply(
+ P1 <span class="keyword">const</span>&amp; a, P2 <span class="keyword">const</span>&amp; b)
+ {
+ computation_type d
+ = <span class="keyword">get</span>&lt;D-1&gt;(a) - get&lt;D-1&gt;(b);
+ <span class="keywordflow">return</span> d * d + pythagoras
+ &lt;P1, P2, D-1&gt;
+ ::apply(a, b);
+ }
+};
+</pre></div><h2><a class="anchor" name="par6">
+Different geometries</a></h2>
+We’ve designed a dimension agnostic system supporting any point-type of any coordinate type. There are still some tweaks but they will be worked out later. Now we will see how we calculate the distance between a point and a polygon, or between a point and a line-segment. These formulae are more complex, and the influence on design is even larger. We don’t want to add a function with another name: <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> S&gt;
+<span class="keywordtype">double</span> distance_point_segment(P <span class="keyword">const</span>&amp; p,
+ S <span class="keyword">const</span>&amp; s)
+</pre></div><p>
+We want to be generic, the distance function has to be called from code not knowing the type of geometry it handles, so it has to be named distance. We also cannot create an overload because that would be ambiguous, having the same template signature. There are two solutions:<ul>
+<li>tag dispatching</li><li>SFINAE We select tag dispatching because it fits into the traits system, and also because SFINAE has several drawbacks, listed in another paragraph. With tag dispatching the distance algorithm inspects the type of geometry of the input parameters. The distance function will be changed into this: <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2&gt;
+<span class="keywordtype">double</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(G1 <span class="keyword">const</span>&amp; g1, G2 <span class="keyword">const</span>&amp; g2)
+{
+ <span class="keywordflow">return</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">dispatch::distance</a>
+ &lt;
+ <span class="keyword">typename</span> tag&lt;G1&gt;::type,
+ <span class="keyword">typename</span> tag&lt;G2&gt;::type,
+ G1, G2
+ &gt;::apply(g1, g2);
+}
+</pre></div></li></ul>
+<p>
+It is referring to the tag meta-function and forwarding the call to the apply method of a dispatch::distance structure. The tag meta-function is another traits class, and should be specialized for per point type, both shown here: <div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>traits
+{
+ <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+ <span class="keyword">struct </span>tag {};
+
+ <span class="comment">// specialization</span>
+ <span class="keyword">template</span> &lt;&gt;
+ <span class="keyword">struct </span>tag&lt;mypoint&gt;
+ {
+ <span class="keyword">typedef</span> point_tag type;
+ };
+}
+</pre></div><p>
+Free meta-function, like coordinate_system and get: <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<span class="keyword">struct </span>tag : traits::tag&lt;G&gt; {};
+</pre></div><p>
+Tags (point_tag, segment_tag, etc) are empty structures with the purpose to specialize a dispatch struct. The dispatch struct for distance, and its specializations, are all defined in a separate namespace and look like the following:<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>dispatch {
+<span class="keyword">template</span> &lt; <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2 &gt;
+<span class="keyword">struct </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
+{};
+
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<span class="keyword">struct </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a> &lt; point_tag, point_tag, P1, P2 &gt;
+{
+ <span class="keyword">static</span> <span class="keywordtype">double</span> apply(P1 <span class="keyword">const</span>&amp; a,
+ P2 <span class="keyword">const</span>&amp; b)
+ {
+ <span class="comment">// here we call pythagoras</span>
+ <span class="comment">// exactly like we did before</span>
+ ...
+ }
+};
+
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> S&gt;
+<span class="keyword">struct </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
+&lt;
+ point_tag, segment_tag, P, S
+&gt;
+{
+ <span class="keyword">static</span> <span class="keywordtype">double</span> apply(P <span class="keyword">const</span>&amp; p,
+ S <span class="keyword">const</span>&amp; s)
+ {
+ <span class="comment">// here we refer to another function</span>
+ <span class="comment">// implementing point-segment</span>
+ <span class="comment">// calculations in 2 or 3</span>
+ <span class="comment">// dimensions...</span>
+ ...
+ }
+};
+<span class="comment">// here we might have many more</span>
+<span class="comment">// specializations,</span>
+<span class="comment">// for point-polygon, box-circle, etc.</span>
+
+} <span class="comment">// namespace</span>
+</pre></div><p>
+So yes, it is possible; the distance algorithm is generic now in the sense that it also supports different geometry types. One drawback: we have to define two dispatch specializations for point - segment and for segment - point separately. That will also be solved, in the paragraph reversibility below. The example below shows where we are now: different point types, geometry types, dimensions. <div class="fragment"><pre class="fragment">point a(1,1);
+point b(2,2);
+std::cout &lt;&lt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(a,b) &lt;&lt; std::endl;
+segment s1(0,0,5,3);
+std::cout &lt;&lt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(a, s1) &lt;&lt; std::endl;
+rgb red(255, 0, 0);
+rbc orange(255, 128, 0);
+std::cout &lt;&lt; <span class="stringliteral">"color distance: "</span> &lt;&lt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(red, orange) &lt;&lt; std::endl;
+</pre></div><h2><a class="anchor" name="par7">
+Kernel revisited</a></h2>
+We described above that we had a traits class coordinate_type, defined in namespace traits, and defined a separate coordinate_type class as well. This was actually not really necessary before, because the only difference was namespace clause. But now that we have another geometry type, a segment in this case, it is essential. We can call the coordinate_type meta-function for any geometry type, point, segment, polygon, etc, implemented again by tag dispatching:<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<span class="keyword">struct </span>coordinate_type
+{
+ <span class="keyword">typedef</span> <span class="keyword">typename</span>
+ dispatch::coordinate_type
+ &lt;
+ <span class="keyword">typename</span> tag&lt;G&gt;::type, G
+ &gt;::type type;
+};
+</pre></div><p>
+Inside the dispatch namespace this meta-function is implemented twice: a generic version and one specialization for points. The specialization for points calls the traits class. The generic version calls the point-specialization, as a sort of recursive meta-function definition:<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>dispatch
+{
+
+<span class="comment">// Version for any geometry:</span>
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> G&gt;
+<span class="keyword">struct </span>coordinate_type
+{
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type
+ &lt;
+ GeometryTag, G
+ &gt;::type point_type;
+
+ <span class="comment">// Call specialization on point-tag</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type &lt; point_tag, point_type &gt;::type type;
+};
+
+<span class="comment">// Specialization for point-type:</span>
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<span class="keyword">struct </span>coordinate_type&lt;point_tag, P&gt;
+{
+ <span class="keyword">typedef</span> <span class="keyword">typename</span>
+ traits::coordinate_type&lt;P&gt;::type
+ type;
+};
+</pre></div><p>
+So it calls another meta-function point_type. This is not elaborated in here but realize that it is available for all geometry types, and typedefs the point type which makes up the geometry, calling it type.<p>
+The same applies for the meta-function dimension and for the upcoming meta-function coordinate system.<h2><a class="anchor" name="par8">
+Coordinate system</a></h2>
+Until here we assumed a Cartesian system. But we know that the Earth is not flat. Calculating a distance between two GPS-points with the system above would result in nonsense. So we again extend our design. We define for each point type a coordinate system type, using the traits system again. Then we make the calculation dependant on that coordinate system.<p>
+Coordinate system is similar to coordinate type, a meta-function, calling a dispatch function to have it for any geometry-type, forwarding to its point-specialization, and finally calling a traits class, defining a typedef type with a coordinate system. We don’t show that all here again. We only show the definition of a few coordinate systems: <div class="fragment"><pre class="fragment"><span class="keyword">struct </span>cartesian {};
+
+<span class="keyword">template</span>&lt;<span class="keyword">typename</span> DegreeOrRadian&gt;
+<span class="keyword">struct </span>geographic
+{
+ <span class="keyword">typedef</span> DegreeOrRadian units;
+};
+</pre></div><p>
+So Cartesian is simple, for geographic we can also select if its coordinates stored in degrees or in radians.<p>
+The distance function now will change: it will select the computation method for the corresponding coordinate system and then call the dispatch struct for distance. We call the computation method specialized for coordinate systems a strategy. So the new version of the distance function is:<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2&gt;
+<span class="keywordtype">double</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(G1 <span class="keyword">const</span>&amp; g1, G2 <span class="keyword">const</span>&amp; g2)
+{
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_distance
+ &lt;
+ <span class="keyword">typename</span> coordinate_system&lt;G1&gt;::type,
+ <span class="keyword">typename</span> coordinate_system&lt;G2&gt;::type,
+ <span class="keyword">typename</span> point_type&lt;G1&gt;::type,
+ <span class="keyword">typename</span> point_type&lt;G2&gt;::type,
+ <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;G1&gt;::value</a>
+ &gt;::type strategy;
+
+ <span class="keywordflow">return</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">dispatch::distance</a>
+ &lt;
+ <span class="keyword">typename</span> tag&lt;G1&gt;::type,
+ <span class="keyword">typename</span> tag&lt;G2&gt;::type,
+ G1, G2, strategy
+ &gt;::apply(g1, g2, strategy());
+}
+</pre></div><p>
+The strategy_distance mentioned here is a struct with specializations for different coordinate systems.<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2,
+ <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keywordtype">int</span> D&gt;
+<span class="keyword">struct </span>strategy_distance
+{
+ <span class="keyword">typedef</span> <span class="keywordtype">void</span> type;
+};
+
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keywordtype">int</span> D&gt;
+<span class="keyword">struct </span>strategy_distance
+&lt;cartesian, cartesian, P1, P2, D&gt;
+{
+ <span class="keyword">typedef</span> pythagoras&lt;P1, P2, D&gt; type;
+};
+</pre></div><p>
+So here is our Pythagoras again, now defined as a strategy. The distance dispatch function just calls its apply method.<p>
+So this is an important step: for spherical or geographical coordinate systems, another strategy (computation method) can be implemented. For spherical coordinate systems we have the haversine formula. So it is specialized like this <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2,
+ <span class="keywordtype">int</span> D = 2&gt;
+<span class="keyword">struct </span>strategy_distance&lt;spherical, spherical, P1, P2, D&gt;
+{
+ <span class="keyword">typedef</span> haversine&lt;P1, P2&gt; type;
+};
+
+<span class="comment">// struct haversine with apply function</span>
+<span class="comment">// is omitted here</span>
+</pre></div><p>
+For geography, we have some alternatives for distance calculation. There is the Andoyer method[*], fast and precise, and there is the Vincenty method[*], slower and more precise, and there are some less precise approaches as well. We have to define one strategy as the default strategy. Besides that, we modify our design again and add an overload for the distance algorithm, taking a strategy. That enables us to call distance with any strategy, not just the default strategy but also specified strategies. This new overload distance function also has the advantage that the strategy can be constructed outside the distance function. Because it was constructed inside above, it could not have construction parameters. But for Andoyer or Vincenty, or the haversine formula, it certainly makes sense to have a constructor taking the radius of the earth as a parameter. So the distance overloaded function is:<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2, <span class="keyword">typename</span> S&gt;
+<span class="keywordtype">double</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(G1 <span class="keyword">const</span>&amp; g1, G2 <span class="keyword">const</span>&amp; g2, S <span class="keyword">const</span>&amp; strategy)
+{
+ <span class="keywordflow">return</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">dispatch::distance</a>
+ &lt;
+ <span class="keyword">typename</span> tag&lt;G1&gt;::type,
+ <span class="keyword">typename</span> tag&lt;G2&gt;::type,
+ G1, G2, S
+ &gt;::apply(g1, g2, strategy);
+}
+</pre></div><p>
+The strategy has to have a method apply taking two points as argument. [[[for points!]]]<p>
+We do not list all implementations here, Vincenty would cover half a page of mathematics, but you will understand the idea. We can call distance like this: <div class="fragment"><pre class="fragment"><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(c1, c2)
+</pre></div><p>
+where c1,c2 are Cartesian points, or like this:<p>
+<div class="fragment"><pre class="fragment"><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(g1, g2)
+</pre></div><p>
+where g1,g2 are Geographic points, calling the default strategy for Geographic points (e.g. Andoyer), and like this:<p>
+<div class="fragment"><pre class="fragment"><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(g1, g2, vincenty&lt;G1, G2&gt;(6275))
+</pre></div><p>
+where a strategy is specified explicitly and constructed with a radius.<h2><a class="anchor" name="par9">
+Point concept</a></h2>
+The five traits classes mentioned in the paragraphs above form together the Point Concept. Any point type for which specializations are implemented in the traits namespace should be handled correctly by the library. So the Point concept consists of: a specialization for traits::tag a specialization for traits::coordinate_system a specialization for traits::coordinate_type a specialization for traits::dimension a specialization for traits::access The last one is a class, containing a function, the first four are meta-functions. So we now have agnosticism for the number of dimensions, agnosticism for coordinate systems, our design can handle any coordinate type, and it can handle different geometry types. Furthermore we can specify our own strategies, the code will not compile in case of two points with different dimensions (because of the assertion), and it will not compile for two points with different coordinate systems (because there is no specialization). We still have the distance function returning dou
ble. Next paragraph will solve that.<h2><a class="anchor" name="par10">
+Return type</a></h2>
+We promised that calling sqrt was not always necessary. So we define a distance result struct that contains the squared value and is convertible to a double value. This, however, only has to be done for Pythagoras. The spherical distance functions do not take the square root so for them it is not necessary to avoid the expensive square root call; they can just return their distance. So the distance result struct is dependant on strategy, therefore made a member type of the strategy, looking like this: <div class="fragment"><pre class="fragment"><span class="keyword">template</span>&lt;<span class="keyword">typename</span> T = <span class="keywordtype">double</span>&gt;
+<span class="keyword">struct </span>cartesian_distance
+{
+ T sq;
+ <span class="keyword">explicit</span> cartesian_distance(T <span class="keyword">const</span>&amp; v)
+ : sq (v) {}
+
+ <span class="keyword">inline</span> operator T()<span class="keyword"> const</span>
+<span class="keyword"> </span>{
+ <span class="keywordflow">return</span> std::sqrt(sq);
+ }
+};
+</pre></div><p>
+It also has operators defined to compare itself to other results without taking the square root. Each strategy should define its return type, within the strategy class, e.g.:<p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">typedef</span> cartesian_distance&lt;T&gt; return_type;
+</pre></div> or:<p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">typedef</span> <span class="keywordtype">double</span> return_type
+</pre></div><p>
+for Pythagoras and spherical, respectively.<p>
+Again our distance function will be modified, as expected, to reflect the new return type. For the overload with a strategy it is not complex: <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt; <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2, <span class="keyword">typename</span> Strategy &gt;
+<span class="keyword">typename</span> Strategy::return_type <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>( G1 <span class="keyword">const</span>&amp; G1 , G2 <span class="keyword">const</span>&amp; G2 , S <span class="keyword">const</span>&amp; strategy)
+</pre></div><p>
+But for the one without strategy we have to select strategy, coordinate type, etc. It would be spacious to do it in one line so we add a separate meta-function: <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2 = G1&gt;
+<span class="keyword">struct </span>distance_result
+{
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;G1&gt;::type P1;
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;G2&gt;::type P2;
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_distance
+ &lt;
+ <span class="keyword">typename</span> cs_tag&lt;P1&gt;::type,
+ <span class="keyword">typename</span> cs_tag&lt;P2&gt;::type,
+ P1, P2&gt;::type S;
+
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> S::return_type type;
+};
+</pre></div><p>
+and modify our distance function: <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2&gt;
+<span class="keyword">inline</span> <span class="keyword">typename</span> distance_result
+ &lt;G1, G2&gt;::type
+ <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(G1 <span class="keyword">const</span>&amp; G1, G2 <span class="keyword">const</span>&amp; G2)
+</pre></div><p>
+Of course also the apply functions in the dispatch specializations will return a result like this, they have a strategy as a template parameter everywhere, making the less verbose version possible.<h2><a class="anchor" name="par11">
+Reversibility</a></h2>
+Our dispatch::distance class was specialized for &lt;point_tag, segment_tag&gt;. Library users can also call the distance function with a segment and a point, in that order. Actually, there are many geometry types (polygon, box, linestring), how to implement all those without duplicating all tag dispatching functions? The answer is that we automatically reverse the arguments, if appropriate. For distance it is appropriate because distance is a commutative function. We add a meta-function geometry_id, which has specializations for each geometry type, just derived from boost::mpl::int_, such that it can be ordered. Point is 1, segment is e.g. 2.<p>
+Then we add a meta-function reverse_dispatch: <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2&gt;
+<span class="keyword">struct </span>reverse_dispatch : detail::reverse_dispatch
+&lt;
+ geometry_id&lt;G1&gt;::type::value,
+ geometry_id&lt;G2&gt;::type::value
+&gt; {};
+</pre></div><p>
+Because of the order in geometry_id, we can arrange (template) parameters in that order, in specializations. So the detail structure looks like: <div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>detail
+{
+ <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> Id1, <span class="keywordtype">int</span> Id2&gt;
+ <span class="keyword">struct </span>reverse_dispatch
+ : boost::mpl::if_c
+ &lt;
+ (Id1 &gt; Id2),
+ boost::true_type,
+ boost::false_type
+ &gt; {};
+</pre></div><p>
+And our distance function will be modified again with some template meta-programming: We get <div class="fragment"><pre class="fragment"><span class="keywordflow">return</span> boost::mpl::if_c
+ &lt;
+ <a class="code" href="structggl_1_1reverse__dispatch.html">ggl::reverse_dispatch &lt;G1, G2&gt;::type::value</a>,
+ dispatch::distance_reversed
+ &lt;
+ <span class="keyword">typename</span> tag&lt;G1&gt;::type,
+ <span class="keyword">typename</span> tag&lt;G2&gt;::type,
+ G1, G2,
+ <span class="comment">// strategy</span>
+ &gt;,
+ <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">dispatch::distance</a>
+ &lt;
+ <span class="keyword">typename</span> tag&lt;G1&gt;::type,
+ <span class="keyword">typename</span> tag&lt;G2&gt;::type,
+ G1, G2,
+ <span class="comment">// strategy</span>
+ &gt;
+ &gt;::type::apply(g1, g2, s);
+</pre></div><p>
+Where the dispatch::distance_reversed is a specific struct, forwarding its call to dispatch::distance, reversing all its template arguments and function arguments.<h2><a class="anchor" name="par13">
+Multi</a></h2>
+Consider Hawaii as a multi_polygon: it is a set of islands (polygons), forming together one entity. The shortest distance from a ship to Hawaii is the shortest distance to the closest island. That algorithm also holds for the shortest distance from a point to a multi-line or a multi-point. So we don't want to implement that functionality three times. Instead we add a meta-function, is_multi, which is always true for a multi-geometry (multi-point, multi-linestring, multi-polygon) and always false for the single versions.<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<span class="keyword">struct </span>is_multi : core_dispatch::is_multi&lt;typename tag&lt;Geometry&gt;::type&gt;
+{};
+
+
+<span class="keyword">namespace </span>dispatch
+{
+
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag&gt;
+<span class="keyword">struct </span>is_multi : boost::false_type {};
+
+<span class="keyword">template</span> &lt;&gt;
+<span class="keyword">struct </span>is_multi&lt;multi_point_tag&gt; : boost::true_type {};
+
+
+<span class="keyword">template</span> &lt;&gt;
+<span class="keyword">struct </span>is_multi&lt;multi_linestring_tag&gt; : boost::true_type {};
+
+
+<span class="keyword">template</span> &lt;&gt;
+<span class="keyword">struct </span>is_multi&lt;multi_polygon_tag&gt; : boost::true_type {};
+
+
+
+
+} <span class="comment">// namespace dispatch</span>
+</pre></div><p>
+Now we can specialize on is_multi, so we add two boolean IsMulti's, one for each geometry type, to our distance dispatch struct and make the call to them in the distance function:<p>
+specialization:<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+ <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2, <span class="keyword">typename</span> Strategy&gt;
+<span class="keyword">struct </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>&lt;GeometryTag1, GeometryTag2, G1, G2, strategy_tag_distance_point_point, Strategy, false, true&gt;
+ : detail::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::distance_single_to_multi&lt;G1, G2, Strategy&gt;
+{};
+</pre></div><p>
+If that relatively simple change is done, we have to do one thing: implement the single-to-multi distance implementation structure<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> MultiGeometry, <span class="keyword">typename</span> Strategy&gt;
+<span class="keyword">struct </span>distance_single_to_multi
+{
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type return_type;
+
+ <span class="keyword">static</span> return_type apply(Geometry <span class="keyword">const</span>&amp; geometry,
+ MultiGeometry <span class="keyword">const</span>&amp; multi,
+ Strategy <span class="keyword">const</span>&amp; strategy)
+ {
+ <span class="keyword">using namespace </span>boost;
+
+ return_type mindist = make_distance_result&lt;return_type&gt;(
+ numeric::bounds&lt;typename select_coordinate_type&lt;Geometry, MultiGeometry&gt;::type&gt;::highest());
+
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> range_const_iterator&lt;MultiGeometry&gt;::type iterator;
+ <span class="keywordflow">for</span>(iterator it = begin(multi); it != end(multi); ++it)
+ {
+ return_type dist = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(geometry, *it);
+ <span class="keywordflow">if</span> (dist &lt; mindist)
+ {
+ mindist = dist;
+ }
+ }
+
+ <span class="keywordflow">return</span> mindist;
+ }
+};
+</pre></div><p>
+which iterates over a collection of multi-shapes, and returns the shortest distance. Another function can implement the multi-to-multi function. Note that because of reversibility we don't have to implement the multi-to-single version (as long as multi's always have an higher ID than single's).<h2><a class="anchor" name="par14">
+Sfinae</a></h2>
+Instead of tag dispatching we alternatively could have chosen for SFINAE, mentioned above. With SFINAE (Substitution Failure Is Not An Error) we add optional parameters to the distance function, which sole use is to make an overload invalid for other geometry types than specified. So like: <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(P1 <span class="keyword">const</span>&amp; p1, P2 <span class="keyword">const</span>&amp; p2
+ , <span class="keyword">typename</span> boost::enable_if &lt;is_point&lt;P1&gt; &gt;::type* = 0
+ , <span class="keyword">typename</span> boost::enable_if &lt;is_point&lt;P2&gt; &gt;::type* = 0
+ )
+ {
+ <span class="keywordflow">return</span> impl::distance::point_to_point(p1, p2);
+ }
+</pre></div><p>
+There would then be overloads for point-segment, point-polygon, etc. This SFINAE:<ul>
+<li>can be done on functions but not on structs (meta-functions). So the coordinate_type meta-function would still have to use tag dispatching</li><li>gives often compiler troubles and headaches: if a user makes an error somewhere, the compiler will not select any of the methods, and/or it will give completely incomprehensible error listings, just because of this SFINAE</li><li>does not support partial specializations because it is a function. The tag-dispatching function is of course also not supporting that, but it forwards its call to the dispatch struct where partial specializations (and member template functions) are possible. The SFINAE could do that as well but then: why not just add one tag more and have tag dispatching instead?</li><li>is a trick to deceive the compiler. “As a language behavior it was designed to avoid programs becoming ill-formed” [2], while tag dispatching is based on specialization, a core feature of C++</li><li>looks more ugly</li><li>is simply not necessary because we have tag
 dispatching :-) </li></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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/direction_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/direction_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/policies/relate/direction.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1policies.html">ggl::policies</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/direction_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/direction_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,364 @@
+<!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">
+&nbsp;&nbsp;
+</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/policies/relate/direction.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_GEOMETRY_POLICIES_RELATE_DIRECTION_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRY_POLICIES_RELATE_DIRECTION_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>&gt;</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="keyword">namespace </span>policies { <span class="keyword">namespace </span>relate {
+<a name="l00023"></a>00023
+<a name="l00024"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">00024</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">direction_type</a>
+<a name="l00025"></a>00025 {
+<a name="l00026"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#5a1947e3f282bcfb2907fc42375789ef">00026</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#5a1947e3f282bcfb2907fc42375789ef">direction_type</a>(<span class="keywordtype">char</span> h,
+<a name="l00027"></a>00027 <span class="keywordtype">double</span> a = 0, <span class="keywordtype">double</span> b = 0,
+<a name="l00028"></a>00028 <span class="keywordtype">int</span> ha = 0, <span class="keywordtype">int</span> hb = 0,
+<a name="l00029"></a>00029 <span class="keywordtype">int</span> da = 0, <span class="keywordtype">int</span> db = 0,
+<a name="l00030"></a>00030 <span class="keywordtype">bool</span> op = <span class="keyword">false</span>)
+<a name="l00031"></a>00031 : <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#a7f2c671e062ab2461256b1dd5199aa6">how</a>(h)
+<a name="l00032"></a>00032 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#84883a234b8e5bd2a93ef27bc77059e1">opposite</a>(op)
+<a name="l00033"></a>00033 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#818486fa06d8db5cf82161ec717f6f67">ra</a>(a)
+<a name="l00034"></a>00034 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#12b04114e3ec9186b1da15fd15891fab">rb</a>(b)
+<a name="l00035"></a>00035 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bdcf56ad4de2b765ea8567ed8505f115">how_a</a>(ha)
+<a name="l00036"></a>00036 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#28e2aa67bf557974a82020bf671992ce">how_b</a>(hb)
+<a name="l00037"></a>00037 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bb19847f2c087e788bbe7498d6459c01">dir_a</a>(da)
+<a name="l00038"></a>00038 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#c41c730c67f5c22191f62d5b0a9eb28b">dir_b</a>(db)
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 }
+<a name="l00041"></a>00041
+<a name="l00042"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#164985c8c74343da6fde819a46348368">00042</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#5a1947e3f282bcfb2907fc42375789ef">direction_type</a>(<span class="keywordtype">char</span> h, <span class="keywordtype">bool</span> op, <span class="keywordtype">int</span> ha = 0, <span class="keywordtype">int</span> hb = 0)
+<a name="l00043"></a>00043 : <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#a7f2c671e062ab2461256b1dd5199aa6">how</a>(h)
+<a name="l00044"></a>00044 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#84883a234b8e5bd2a93ef27bc77059e1">opposite</a>(op)
+<a name="l00045"></a>00045 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#818486fa06d8db5cf82161ec717f6f67">ra</a>(0)
+<a name="l00046"></a>00046 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#12b04114e3ec9186b1da15fd15891fab">rb</a>(0)
+<a name="l00047"></a>00047 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bdcf56ad4de2b765ea8567ed8505f115">how_a</a>(ha)
+<a name="l00048"></a>00048 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#28e2aa67bf557974a82020bf671992ce">how_b</a>(hb)
+<a name="l00049"></a>00049 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bb19847f2c087e788bbe7498d6459c01">dir_a</a>(0)
+<a name="l00050"></a>00050 , <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#c41c730c67f5c22191f62d5b0a9eb28b">dir_b</a>(0)
+<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="comment">// "How" is the intersection formed?</span>
+<a name="l00056"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#a7f2c671e062ab2461256b1dd5199aa6">00056</a> <span class="keywordtype">char</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#a7f2c671e062ab2461256b1dd5199aa6">how</a>;
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="comment">// Is it opposite (for collinear/equal cases)</span>
+<a name="l00059"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#84883a234b8e5bd2a93ef27bc77059e1">00059</a> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#84883a234b8e5bd2a93ef27bc77059e1">opposite</a>;
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="comment">// "Distance information", information on how far lies IP from a/b in ratio [0..1]</span>
+<a name="l00062"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#12b04114e3ec9186b1da15fd15891fab">00062</a> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#818486fa06d8db5cf82161ec717f6f67">ra</a>, <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#12b04114e3ec9186b1da15fd15891fab">rb</a>;
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="comment">// Information on how A arrives at intersection, how B arrives at intersection</span>
+<a name="l00065"></a>00065 <span class="comment">// 1: arrives at intersection</span>
+<a name="l00066"></a>00066 <span class="comment">// -1: starts from intersection</span>
+<a name="l00067"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bdcf56ad4de2b765ea8567ed8505f115">00067</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bdcf56ad4de2b765ea8567ed8505f115">how_a</a>;
+<a name="l00068"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#28e2aa67bf557974a82020bf671992ce">00068</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#28e2aa67bf557974a82020bf671992ce">how_b</a>;
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="comment">// Direction: how is A positioned from B</span>
+<a name="l00071"></a>00071 <span class="comment">// 1: points left, seen from IP</span>
+<a name="l00072"></a>00072 <span class="comment">// -1: points right, seen from IP</span>
+<a name="l00073"></a>00073 <span class="comment">// In case of intersection: B's TO direction</span>
+<a name="l00074"></a>00074 <span class="comment">// In case that B's TO direction is at A: B's from direction</span>
+<a name="l00075"></a>00075 <span class="comment">// In collinear cases: it is 0</span>
+<a name="l00076"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bb19847f2c087e788bbe7498d6459c01">00076</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bb19847f2c087e788bbe7498d6459c01">dir_a</a>; <span class="comment">// Direction of A-s TO from IP</span>
+<a name="l00077"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#c41c730c67f5c22191f62d5b0a9eb28b">00077</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html#c41c730c67f5c22191f62d5b0a9eb28b">dir_b</a>; <span class="comment">// Direction of B-s TO from IP</span>
+<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> &lt;<span class="keyword">typename</span> S1, <span class="keyword">typename</span> S2&gt;
+<a name="l00082"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">00082</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">segments_direction</a>
+<a name="l00083"></a>00083 {
+<a name="l00084"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">00084</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">direction_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a>;
+<a name="l00085"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6d294de7005beda339acd766c4634053">00085</a> <span class="keyword">typedef</span> S1 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6d294de7005beda339acd766c4634053">segment_type1</a>;
+<a name="l00086"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#411feeef724397e06f71dd1cabbda7e0">00086</a> <span class="keyword">typedef</span> S2 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#411feeef724397e06f71dd1cabbda7e0">segment_type2</a>;
+<a name="l00087"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">00087</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&lt;S1, S2&gt;::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="l00088"></a>00088
+<a name="l00089"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#32ede06f7881e263fc42a6cf02f72f68">00089</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#32ede06f7881e263fc42a6cf02f72f68">rays_intersect</a>(<span class="keywordtype">bool</span> on_segment,
+<a name="l00090"></a>00090 <span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> rb,
+<a name="l00091"></a>00091 <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>&amp; dx1, <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>&amp; dy1,
+<a name="l00092"></a>00092 <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>&amp; dx2, <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>&amp; dy2,
+<a name="l00093"></a>00093 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; wx, <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>&amp; wy,
+<a name="l00094"></a>00094 S1 <span class="keyword">const</span>&amp; s1, S2 <span class="keyword">const</span>&amp; s2)
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 boost::ignore_unused_variable_warning(dx2);
+<a name="l00097"></a>00097 boost::ignore_unused_variable_warning(dy2);
+<a name="l00098"></a>00098 boost::ignore_unused_variable_warning(wx);
+<a name="l00099"></a>00099 boost::ignore_unused_variable_warning(wy);
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keywordflow">if</span>(on_segment)
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="comment">// 0 &lt;= ra &lt;= 1 and 0 &lt;= rb &lt;= 1</span>
+<a name="l00104"></a>00104 <span class="comment">// Check the configuration</span>
+<a name="l00105"></a>00105 <span class="keywordtype">bool</span> ra0 = <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(ra, 0.0);
+<a name="l00106"></a>00106 <span class="keywordtype">bool</span> ra1 = <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(ra, 1.0);
+<a name="l00107"></a>00107 <span class="keywordtype">bool</span> rb0 = <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(rb, 0.0);
+<a name="l00108"></a>00108 <span class="keywordtype">bool</span> rb1 = <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(rb, 1.0);
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="keywordflow">return</span>
+<a name="l00111"></a>00111 <span class="comment">// opposite and same starting point (FROM)</span>
+<a name="l00112"></a>00112 ra0 &amp;&amp; rb0 ? calculate_side&lt;1&gt;(ra, rb, dx1, dy1, s1, s2, <span class="charliteral">'f'</span>, -1, -1)
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="comment">// opposite and point to each other (TO)</span>
+<a name="l00115"></a>00115 : ra1 &amp;&amp; rb1 ? calculate_side&lt;0&gt;(ra, rb, dx1, dy1, s1, s2, <span class="charliteral">'t'</span>, 1, 1)
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="comment">// not opposite, forming an angle, first a then b,</span>
+<a name="l00118"></a>00118 <span class="comment">// directed either both left, or both right</span>
+<a name="l00119"></a>00119 <span class="comment">// Check side of B2 from A. This is not calculated before</span>
+<a name="l00120"></a>00120 : ra1 &amp;&amp; rb0 ? angle&lt;1&gt;(ra, rb, dx1, dy1, s1, s2, <span class="charliteral">'a'</span>, 1, -1)
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="comment">// not opposite, forming a angle, first b then a,</span>
+<a name="l00123"></a>00123 <span class="comment">// directed either both left, or both right</span>
+<a name="l00124"></a>00124 : ra0 &amp;&amp; rb1 ? angle&lt;0&gt;(ra, rb, dx1, dy1, s1, s2, <span class="charliteral">'a'</span>, -1, 1)
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="comment">// b starts from interior of a</span>
+<a name="l00127"></a>00127 : rb0 ? starts_from_middle(ra, rb, dx1, dy1, s1, s2, <span class="charliteral">'B'</span>, 0, -1)
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="comment">// a starts from interior of b (#39)</span>
+<a name="l00130"></a>00130 : ra0 ? starts_from_middle(ra, rb, dx1, dy1, s1, s2, <span class="charliteral">'A'</span>, -1, 0)
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <span class="comment">// b ends at interior of a, calculate direction of A from IP</span>
+<a name="l00133"></a>00133 : rb1 ? b_ends_at_middle(ra, rb, dx2, dy2, s1, s2)
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="comment">// a ends at interior of b</span>
+<a name="l00136"></a>00136 : ra1 ? a_ends_at_middle(ra, rb, dx1, dy1, s1, s2)
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 <span class="comment">// normal intersection</span>
+<a name="l00139"></a>00139 : calculate_side&lt;1&gt;(ra, rb, dx1, dy1, s1, s2, <span class="charliteral">'i'</span>, -1, -1)
+<a name="l00140"></a>00140 ;
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 <span class="comment">// Not on segment, disjoint</span>
+<a name="l00144"></a>00144 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(<span class="charliteral">'d'</span>);
+<a name="l00145"></a>00145 }
+<a name="l00146"></a>00146
+<a name="l00147"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#46d3001d71d9684f5806911c68d5bff5">00147</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#46d3001d71d9684f5806911c68d5bff5">collinear_touch</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>&amp; , <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>&amp; , <span class="keywordtype">bool</span> opposite, <span class="keywordtype">char</span> how)
+<a name="l00148"></a>00148 {
+<a name="l00149"></a>00149 <span class="comment">// Though this is 'collinear', we handle it as To/From/Angle because it is the same.</span>
+<a name="l00150"></a>00150 <span class="comment">// It only does NOT have a direction.</span>
+<a name="l00151"></a>00151 <span class="keywordtype">int</span> <span class="keyword">const</span> arrive = how == <span class="charliteral">'T'</span> ? 1 : -1;
+<a name="l00152"></a>00152 <span class="keywordflow">return</span>
+<a name="l00153"></a>00153 ! opposite
+<a name="l00154"></a>00154 ? <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(<span class="charliteral">'a'</span>, 0, 0, how == <span class="charliteral">'A'</span> ? 1 : -1, how == <span class="charliteral">'B'</span> ? 1 : -1)
+<a name="l00155"></a>00155 : <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(how == <span class="charliteral">'T'</span> ? <span class="charliteral">'t'</span> : <span class="charliteral">'f'</span>, 0, 0, arrive, arrive, 0, 0, <span class="keyword">true</span>);
+<a name="l00156"></a>00156 }
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00159"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#80ce268792c7516aac1c546e8fbd9b24">00159</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#80ce268792c7516aac1c546e8fbd9b24">collinear_interior_boundary_intersect</a>(S <span class="keyword">const</span>&amp; , <span class="keywordtype">bool</span>, <span class="keywordtype">bool</span> opposite)
+<a name="l00160"></a>00160 {
+<a name="l00161"></a>00161 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(<span class="charliteral">'c'</span>, opposite);
+<a name="l00162"></a>00162 }
+<a name="l00163"></a>00163
+<a name="l00164"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#a00a443f46cd557c282891c59cc683fb">00164</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#a00a443f46cd557c282891c59cc683fb">collinear_a_in_b</a>(S1 <span class="keyword">const</span>&amp; , <span class="keywordtype">bool</span> opposite)
+<a name="l00165"></a>00165 {
+<a name="l00166"></a>00166 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(<span class="charliteral">'c'</span>, opposite);
+<a name="l00167"></a>00167 }
+<a name="l00168"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#298148121645c574e290081c7cd16995">00168</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#298148121645c574e290081c7cd16995">collinear_b_in_a</a>(S2 <span class="keyword">const</span>&amp; , <span class="keywordtype">bool</span> opposite)
+<a name="l00169"></a>00169 {
+<a name="l00170"></a>00170 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(<span class="charliteral">'c'</span>, opposite);
+<a name="l00171"></a>00171 }
+<a name="l00172"></a>00172
+<a name="l00173"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#eb0ebf059d5e294fb18156aac93027cb">00173</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#eb0ebf059d5e294fb18156aac93027cb">collinear_overlaps</a>(
+<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> <span class="keyword">const</span>&amp; , <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>&amp; ,
+<a name="l00175"></a>00175 <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>&amp; , <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>&amp; , <span class="keywordtype">bool</span> opposite)
+<a name="l00176"></a>00176 {
+<a name="l00177"></a>00177 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(<span class="charliteral">'c'</span>, opposite);
+<a name="l00178"></a>00178 }
+<a name="l00179"></a>00179
+<a name="l00180"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#38fbcf5e765fdff2104b206978a793a9">00180</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#38fbcf5e765fdff2104b206978a793a9">segment_equal</a>(S1 <span class="keyword">const</span>&amp; , <span class="keywordtype">bool</span> opposite)
+<a name="l00181"></a>00181 {
+<a name="l00182"></a>00182 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(<span class="charliteral">'e'</span>, opposite);
+<a name="l00183"></a>00183 }
+<a name="l00184"></a>00184
+<a name="l00185"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6992882507d5abb3a649db55eeaa01eb">00185</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6992882507d5abb3a649db55eeaa01eb">degenerate</a>(S1 <span class="keyword">const</span>&amp; , <span class="keywordtype">bool</span>)
+<a name="l00186"></a>00186 {
+<a name="l00187"></a>00187 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(<span class="charliteral">'0'</span>);
+<a name="l00188"></a>00188 }
+<a name="l00189"></a>00189
+<a name="l00190"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#bac75a74d17cdac4e693be8c6a76cd60">00190</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#bac75a74d17cdac4e693be8c6a76cd60">collinear_disjoint</a>()
+<a name="l00191"></a>00191 {
+<a name="l00192"></a>00192 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(<span class="charliteral">'d'</span>);
+<a name="l00193"></a>00193 }
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195
+<a name="l00196"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#efcd33b8f82a96582cdd9b3ce3a05eb9">00196</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#efcd33b8f82a96582cdd9b3ce3a05eb9">parallel</a>()
+<a name="l00197"></a>00197 {
+<a name="l00198"></a>00198 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(<span class="charliteral">'p'</span>);
+<a name="l00199"></a>00199 }
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201 <span class="keyword">private</span> :
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203
+<a name="l00204"></a>00204 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I&gt;
+<a name="l00205"></a>00205 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a> calculate_side(<span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> rb,
+<a name="l00206"></a>00206 <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>&amp; dx1, <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>&amp; dy1,
+<a name="l00207"></a>00207 S1 <span class="keyword">const</span>&amp; s1, S2 <span class="keyword">const</span>&amp; s2,
+<a name="l00208"></a>00208 <span class="keywordtype">char</span> how, <span class="keywordtype">int</span> how_a, <span class="keywordtype">int</span> how_b)
+<a name="l00209"></a>00209 {
+<a name="l00210"></a>00210 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> dpx = get&lt;I, 0&gt;(s2) - get&lt;0, 0&gt;(s1);
+<a name="l00211"></a>00211 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> dpy = get&lt;I, 1&gt;(s2) - get&lt;0, 1&gt;(s1);
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 <span class="comment">// This is a "side calculation" as in the strategies, but here two terms are precalculated</span>
+<a name="l00214"></a>00214 <span class="comment">// We might merge this with side, offering a pre-calculated term</span>
+<a name="l00215"></a>00215 <span class="comment">// Waiting for implementing spherical...</span>
+<a name="l00216"></a>00216
+<a name="l00217"></a>00217 <span class="keywordflow">return</span> dx1 * dpy - dy1 * dpx &gt; 0
+<a name="l00218"></a>00218 ? <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(how, ra, rb, how_a, how_b, -1, 1)
+<a name="l00219"></a>00219 : return_type(how, ra, rb, how_a, how_b, 1, -1);
+<a name="l00220"></a>00220 }
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I&gt;
+<a name="l00223"></a>00223 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a> angle(<span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> rb,
+<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>&amp; dx1, <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>&amp; dy1,
+<a name="l00225"></a>00225 S1 <span class="keyword">const</span>&amp; s1, S2 <span class="keyword">const</span>&amp; s2,
+<a name="l00226"></a>00226 <span class="keywordtype">char</span> how, <span class="keywordtype">int</span> how_a, <span class="keywordtype">int</span> how_b)
+<a name="l00227"></a>00227 {
+<a name="l00228"></a>00228 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> dpx = get&lt;I, 0&gt;(s2) - get&lt;0, 0&gt;(s1);
+<a name="l00229"></a>00229 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> dpy = get&lt;I, 1&gt;(s2) - get&lt;0, 1&gt;(s1);
+<a name="l00230"></a>00230
+<a name="l00231"></a>00231 <span class="keywordflow">return</span> dx1 * dpy - dy1 * dpx &gt; 0
+<a name="l00232"></a>00232 ? <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(how, ra, rb, how_a, how_b, 1, 1)
+<a name="l00233"></a>00233 : return_type(how, ra, rb, how_a, how_b, -1, -1);
+<a name="l00234"></a>00234 }
+<a name="l00235"></a>00235
+<a name="l00236"></a>00236
+<a name="l00237"></a>00237 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a> starts_from_middle(<span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> rb,
+<a name="l00238"></a>00238 <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>&amp; dx1, <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>&amp; dy1,
+<a name="l00239"></a>00239 S1 <span class="keyword">const</span>&amp; s1, S2 <span class="keyword">const</span>&amp; s2,
+<a name="l00240"></a>00240 <span class="keywordtype">char</span> which,
+<a name="l00241"></a>00241 <span class="keywordtype">int</span> how_a, <span class="keywordtype">int</span> how_b)
+<a name="l00242"></a>00242 {
+<a name="l00243"></a>00243 <span class="comment">// Calculate ARROW of b segment w.r.t. s1</span>
+<a name="l00244"></a>00244 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> dpx = get&lt;1, 0&gt;(s2) - get&lt;0, 0&gt;(s1);
+<a name="l00245"></a>00245 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> dpy = get&lt;1, 1&gt;(s2) - get&lt;0, 1&gt;(s1);
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247 <span class="keywordtype">int</span> dir = dx1 * dpy - dy1 * dpx &gt; 0 ? 1 : -1;
+<a name="l00248"></a>00248
+<a name="l00249"></a>00249 <span class="comment">// From other perspective, then reverse</span>
+<a name="l00250"></a>00250 <span class="keywordtype">bool</span> <span class="keyword">const</span> is_a = which == <span class="charliteral">'A'</span>;
+<a name="l00251"></a>00251 <span class="keywordflow">if</span> (is_a)
+<a name="l00252"></a>00252 {
+<a name="l00253"></a>00253 dir = -dir;
+<a name="l00254"></a>00254 }
+<a name="l00255"></a>00255
+<a name="l00256"></a>00256 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(<span class="charliteral">'s'</span>, ra, rb,
+<a name="l00257"></a>00257 how_a,
+<a name="l00258"></a>00258 how_b,
+<a name="l00259"></a>00259 is_a ? dir : -dir,
+<a name="l00260"></a>00260 ! is_a ? dir : -dir);
+<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="comment">// To be harmonized</span>
+<a name="l00266"></a>00266 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a> a_ends_at_middle(<span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> rb,
+<a name="l00267"></a>00267 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">coordinate_type</a> <span class="keyword">const</span>&amp; dx, <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">coordinate_type</a> <span class="keyword">const</span>&amp; dy,
+<a name="l00268"></a>00268 S1 <span class="keyword">const</span>&amp; s1, S2 <span class="keyword">const</span>&amp; s2)
+<a name="l00269"></a>00269 {
+<a name="l00270"></a>00270 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">coordinate_type</a> dpx = get&lt;1, 0&gt;(s2) - get&lt;0, 0&gt;(s1);
+<a name="l00271"></a>00271 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">coordinate_type</a> dpy = get&lt;1, 1&gt;(s2) - get&lt;0, 1&gt;(s1);
+<a name="l00272"></a>00272
+<a name="l00273"></a>00273 <span class="comment">// Ending at the middle, one ARRIVES, the other one is NEUTRAL</span>
+<a name="l00274"></a>00274 <span class="comment">// (because it both "arrives" and "departs" there</span>
+<a name="l00275"></a>00275 <span class="keywordflow">return</span> dx * dpy - dy * dpx &gt; 0
+<a name="l00276"></a>00276 ? <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(<span class="charliteral">'m'</span>, ra, rb, 1, 0, 1, 1)
+<a name="l00277"></a>00277 : return_type(<span class="stringliteral">'m'</span>, ra, rb, 1, 0, -1, -1);
+<a name="l00278"></a>00278 }
+<a name="l00279"></a>00279
+<a name="l00280"></a>00280
+<a name="l00281"></a>00281 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a> b_ends_at_middle(<span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> rb,
+<a name="l00282"></a>00282 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">coordinate_type</a> <span class="keyword">const</span>&amp; dx, <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">coordinate_type</a> <span class="keyword">const</span>&amp; dy,
+<a name="l00283"></a>00283 S1 <span class="keyword">const</span>&amp; s1, S2 <span class="keyword">const</span>&amp; s2)
+<a name="l00284"></a>00284 {
+<a name="l00285"></a>00285 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">coordinate_type</a> dpx = get&lt;1, 0&gt;(s1) - get&lt;0, 0&gt;(s2);
+<a name="l00286"></a>00286 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">coordinate_type</a> dpy = get&lt;1, 1&gt;(s1) - get&lt;0, 1&gt;(s2);
+<a name="l00287"></a>00287
+<a name="l00288"></a>00288 <span class="keywordflow">return</span> dx * dpy - dy * dpx &gt; 0
+<a name="l00289"></a>00289 ? <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a>(<span class="charliteral">'m'</span>, ra, rb, 0, 1, 1, 1)
+<a name="l00290"></a>00290 : return_type(<span class="stringliteral">'m'</span>, ra, rb, 0, 1, -1, -1);
+<a name="l00291"></a>00291 }
+<a name="l00292"></a>00292
+<a name="l00293"></a>00293 };
+<a name="l00294"></a>00294
+<a name="l00295"></a>00295 }} <span class="comment">// namespace policies::relate</span>
+<a name="l00296"></a>00296
+<a name="l00297"></a>00297 } <span class="comment">// namespace ggl</span>
+<a name="l00298"></a>00298
+<a name="l00299"></a>00299 <span class="preprocessor">#endif // GGL_GEOMETRY_POLICIES_RELATE_DIRECTION_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/disjoint_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/disjoint_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/disjoint.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 &nbsp;</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&lt;typename Geometry1 , typename Geometry2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1">ggl::disjoint</a> (const Geometry1 &amp;geometry1, const Geometry2 &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate if two geometries are disjoint. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/disjoint_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/disjoint_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,277 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/disjoint.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_ALGORITHMS_DISJOINT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_DISJOINT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/static_assert.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="reverse__dispatch_8hpp.html">ggl/core/reverse_dispatch.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>ggl
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a> {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00033"></a>00033 <span class="keyword">struct </span>point_point
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type&lt;P1, P2&gt;::type coordinate_type;
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P1 <span class="keyword">const</span>&amp; p1, P2 <span class="keyword">const</span>&amp; 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&lt;D&gt;(p1), get&lt;D&gt;(p2)))
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043 <span class="keywordflow">return</span> point_point&lt;P1, P2, D + 1, N&gt;::apply(p1, p2);
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00048"></a>00048 <span class="keyword">struct </span>point_point&lt;P1, P2, N, N&gt;
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P1 <span class="keyword">const</span>&amp; , P2 <span class="keyword">const</span>&amp; )
+<a name="l00051"></a>00051 {
+<a name="l00052"></a>00052 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054 };
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00058"></a>00058 <span class="keyword">struct </span>point_box
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>&amp; point, B <span class="keyword">const</span>&amp; box)
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 <span class="keywordflow">if</span> (get&lt;D&gt;(point) &lt; get&lt;min_corner, D&gt;(box)
+<a name="l00063"></a>00063 || get&lt;D&gt;(point) &gt; get&lt;max_corner, D&gt;(box))
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067 <span class="keywordflow">return</span> point_box&lt;P, B, D + 1, N&gt;::apply(point, box);
+<a name="l00068"></a>00068 }
+<a name="l00069"></a>00069 };
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00072"></a>00072 <span class="keyword">struct </span>point_box&lt;P, B, N, N&gt;
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>&amp; , B <span class="keyword">const</span>&amp; )
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078 };
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00082"></a>00082 <span class="keyword">struct </span>box_box
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B1 <span class="keyword">const</span>&amp; box1, B2 <span class="keyword">const</span>&amp; box2)
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keywordflow">if</span> (get&lt;max_corner, D&gt;(box1) &lt; get&lt;min_corner, D&gt;(box2))
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090 <span class="keywordflow">if</span> (get&lt;min_corner, D&gt;(box1) &gt; get&lt;max_corner, D&gt;(box2))
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094 <span class="keywordflow">return</span> box_box&lt;B1, B2, D + 1, N&gt;::apply(box1, box2);
+<a name="l00095"></a>00095 }
+<a name="l00096"></a>00096 };
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00099"></a>00099 <span class="keyword">struct </span>box_box&lt;B1, B2, N, N&gt;
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B1 <span class="keyword">const</span>&amp; , B2 <span class="keyword">const</span>&amp; )
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00104"></a>00104 }
+<a name="l00105"></a>00105 };
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 }} <span class="comment">// namespace detail::disjoint</span>
+<a name="l00110"></a>00110 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00111"></a>00111 <span class="preprocessor"></span>
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00114"></a>00114 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="keyword">template</span>
+<a name="l00118"></a>00118 &lt;
+<a name="l00119"></a>00119 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00120"></a>00120 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00121"></a>00121 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
+<a name="l00122"></a>00122 std::size_t DimensionCount
+<a name="l00123"></a>00123 &gt;
+<a name="l00124"></a>00124 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>
+<a name="l00125"></a>00125 {
+<a name="l00126"></a>00126 };
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00129"></a>00129 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>&lt;point_tag, point_tag, P1, P2, false, false, DimensionCount&gt;
+<a name="l00130"></a>00130 : detail::<a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>::point_point&lt;P1, P2, 0, DimensionCount&gt;
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132 };
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00135"></a>00135 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>&lt;box_tag, box_tag, B1, B2, false, false, DimensionCount&gt;
+<a name="l00136"></a>00136 : detail::<a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>::box_box&lt;B1, B2, 0, DimensionCount&gt;
+<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> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00141"></a>00141 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>&lt;point_tag, box_tag, P, B, false, false, DimensionCount&gt;
+<a name="l00142"></a>00142 : detail::<a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>::point_box&lt;P, B, 0, DimensionCount&gt;
+<a name="l00143"></a>00143 {
+<a name="l00144"></a>00144 };
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="keyword">template</span>
+<a name="l00148"></a>00148 &lt;
+<a name="l00149"></a>00149 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00150"></a>00150 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00151"></a>00151 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
+<a name="l00152"></a>00152 std::size_t DimensionCount
+<a name="l00153"></a>00153 &gt;
+<a name="l00154"></a>00154 <span class="keyword">struct </span>disjoint_reversed
+<a name="l00155"></a>00155 {
+<a name="l00156"></a>00156 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(G1 <span class="keyword">const</span>&amp; g1, G2 <span class="keyword">const</span>&amp; g2)
+<a name="l00157"></a>00157 {
+<a name="l00158"></a>00158 <span class="keywordflow">return</span> <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>
+<a name="l00159"></a>00159 &lt;
+<a name="l00160"></a>00160 GeometryTag2, GeometryTag1,
+<a name="l00161"></a>00161 G2, G1,
+<a name="l00162"></a>00162 IsMulti2, IsMulti1,
+<a name="l00163"></a>00163 DimensionCount
+<a name="l00164"></a>00164 &gt;::apply(g2, g1);
+<a name="l00165"></a>00165 }
+<a name="l00166"></a>00166 };
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169 } <span class="comment">// namespace dispatch</span>
+<a name="l00170"></a>00170 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00171"></a>00171 <span class="preprocessor"></span>
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173
+<a name="l00183"></a>00183 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00184"></a><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1">00184</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>(<span class="keyword">const</span> Geometry1&amp; geometry1,
+<a name="l00185"></a>00185 <span class="keyword">const</span> Geometry2&amp; geometry2)
+<a name="l00186"></a>00186 {
+<a name="l00187"></a>00187 assert_dimension_equal&lt;Geometry1, Geometry2&gt;();
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry1&gt;::type ncg1_type;
+<a name="l00190"></a>00190 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry2&gt;::type ncg2_type;
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="keywordflow">return</span> boost::mpl::if_c
+<a name="l00193"></a>00193 &lt;
+<a name="l00194"></a>00194 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch&lt;Geometry1, Geometry2&gt;::type::value</a>,
+<a name="l00195"></a>00195 dispatch::disjoint_reversed
+<a name="l00196"></a>00196 &lt;
+<a name="l00197"></a>00197 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;ncg1_type&gt;::type</a>,
+<a name="l00198"></a>00198 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;ncg2_type&gt;::type</a>,
+<a name="l00199"></a>00199 ncg1_type,
+<a name="l00200"></a>00200 ncg2_type,
+<a name="l00201"></a>00201 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;ncg1_type&gt;::type::value</a>,
+<a name="l00202"></a>00202 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;ncg2_type&gt;::type::value</a>,
+<a name="l00203"></a>00203 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;ncg1_type&gt;::type::value</a>
+<a name="l00204"></a>00204 &gt;,
+<a name="l00205"></a>00205 <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">dispatch::disjoint</a>
+<a name="l00206"></a>00206 &lt;
+<a name="l00207"></a>00207 <span class="keyword">typename</span> tag&lt;ncg1_type&gt;::type,
+<a name="l00208"></a>00208 <span class="keyword">typename</span> tag&lt;ncg2_type&gt;::type,
+<a name="l00209"></a>00209 ncg1_type,
+<a name="l00210"></a>00210 ncg2_type,
+<a name="l00211"></a>00211 is_multi&lt;ncg1_type&gt;::type::value,
+<a name="l00212"></a>00212 is_multi&lt;ncg2_type&gt;::type::value,
+<a name="l00213"></a>00213 dimension&lt;ncg1_type&gt;::type::value
+<a name="l00214"></a>00214 &gt;
+<a name="l00215"></a>00215 &gt;::type::apply(geometry1, geometry2);
+<a name="l00216"></a>00216 }
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219 } <span class="comment">// namespace ggl</span>
+<a name="l00220"></a>00220
+<a name="l00221"></a>00221 <span class="preprocessor">#endif // GGL_ALGORITHMS_DISJOINT_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__result_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__result_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/distance_result.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encapsulate the results of distance 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 &nbsp;</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&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098">ggl::close_to_zero</a> (T const &amp;value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Utility function to check if a distance is very small. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename R , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">R&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">ggl::make_distance_result</a> (T const &amp;value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Object generator to create instance which can be compared. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__result_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__result_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,294 @@
+<!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">
+&nbsp;&nbsp;
+</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/distance_result.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_GEOMETRY_STRATEGIES_DISTANCE_RESULT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRY_STRATEGIES_DISTANCE_RESULT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;utility&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;cmath&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;limits&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;iostream&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl {
+<a name="l00021"></a>00021
+<a name="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T = <span class="keywordtype">double</span>&gt;
+<a name="l00035"></a><a class="code" href="structggl_1_1cartesian__distance.html">00035</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance</a>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">private</span> :
+<a name="l00038"></a>00038 T m_squared_distance;
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="comment">// Because result is square-rooted, for integer, the cast should</span>
+<a name="l00041"></a>00041 <span class="comment">// go to double and NOT to T</span>
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00043"></a>00043 boost::mpl::if_c
+<a name="l00044"></a>00044 &lt;
+<a name="l00045"></a>00045 boost::is_integral&lt;T&gt;::type::value,
+<a name="l00046"></a>00046 double,
+<a name="l00047"></a>00047 T
+<a name="l00048"></a>00048 &gt;::type cast_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 <span class="keyword">public</span> :
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00057"></a><a class="code" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68">00057</a> <span class="keyword">explicit</span> <a class="code" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68" title="Constructor with a value.">cartesian_distance</a>(T <span class="keyword">const</span>&amp; v) : m_squared_distance(v) {}
+<a name="l00058"></a>00058
+<a name="l00061"></a><a class="code" href="structggl_1_1cartesian__distance.html#0f7ef783e29548ca43f47bee6bca108e">00061</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1cartesian__distance.html#0f7ef783e29548ca43f47bee6bca108e">operator cast_type</a>()<span class="keyword"> const</span>
+<a name="l00062"></a>00062 <span class="keyword"> </span>{
+<a name="l00063"></a>00063 <span class="preprocessor">#if defined(NUMERIC_ADAPTOR_INCLUDED)</span>
+<a name="l00064"></a>00064 <span class="preprocessor"></span> <span class="keywordflow">return</span> boost::sqrt(m_squared_distance);
+<a name="l00065"></a>00065 <span class="preprocessor">#else</span>
+<a name="l00066"></a>00066 <span class="preprocessor"></span> <span class="keywordflow">return</span> std::sqrt((<span class="keywordtype">long</span> <span class="keywordtype">double</span>)m_squared_distance);
+<a name="l00067"></a>00067 <span class="preprocessor">#endif</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span> }
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="comment">// Compare squared values</span>
+<a name="l00071"></a><a class="code" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">00071</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;(cartesian_distance&lt;T&gt; <span class="keyword">const</span>&amp; other) <span class="keyword">const</span>
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keywordflow">return</span> this-&gt;m_squared_distance &lt; other.m_squared_distance;
+<a name="l00074"></a>00074 }
+<a name="l00075"></a><a class="code" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">00075</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">operator&gt;</a>(<a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance&lt;T&gt;</a> <span class="keyword">const</span>&amp; other)<span class="keyword"> const</span>
+<a name="l00076"></a>00076 <span class="keyword"> </span>{
+<a name="l00077"></a>00077 <span class="keywordflow">return</span> this-&gt;m_squared_distance &gt; other.m_squared_distance;
+<a name="l00078"></a>00078 }
+<a name="l00079"></a><a class="code" href="structggl_1_1cartesian__distance.html#951bdb772253f50194a754b7740f54b7">00079</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1cartesian__distance.html#951bdb772253f50194a754b7740f54b7">operator==</a>(<a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance&lt;T&gt;</a> <span class="keyword">const</span>&amp; other)<span class="keyword"> const</span>
+<a name="l00080"></a>00080 <span class="keyword"> </span>{
+<a name="l00081"></a>00081 <span class="keywordflow">return</span> this-&gt;m_squared_distance == other.m_squared_distance;
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="comment">// Compare just with a corresponding POD value</span>
+<a name="l00085"></a>00085 <span class="comment">// Note: this is NOT possible because of the cast to double,</span>
+<a name="l00086"></a>00086 <span class="comment">// it makes it for the compiler ambiguous which to take</span>
+<a name="l00087"></a>00087 <span class="comment">/*</span>
+<a name="l00088"></a>00088 <span class="comment"> inline bool operator&lt;(T const&amp; value) const</span>
+<a name="l00089"></a>00089 <span class="comment"> {</span>
+<a name="l00090"></a>00090 <span class="comment"> return this-&gt;m_squared_distance &lt; (value * value);</span>
+<a name="l00091"></a>00091 <span class="comment"> }</span>
+<a name="l00092"></a>00092 <span class="comment"> inline bool operator&gt;(T const&amp; value) const</span>
+<a name="l00093"></a>00093 <span class="comment"> {</span>
+<a name="l00094"></a>00094 <span class="comment"> return this-&gt;m_squared_distance &gt; (value * value);</span>
+<a name="l00095"></a>00095 <span class="comment"> }</span>
+<a name="l00096"></a>00096 <span class="comment"> inline bool operator==(T const&amp; value) const</span>
+<a name="l00097"></a>00097 <span class="comment"> {</span>
+<a name="l00098"></a>00098 <span class="comment"> return this-&gt;m_squared_distance == (value * value);</span>
+<a name="l00099"></a>00099 <span class="comment"> }</span>
+<a name="l00100"></a>00100 <span class="comment"> */</span>
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="comment">// Utility method to compare without SQRT, but not with method above because for epsilon that</span>
+<a name="l00103"></a>00103 <span class="comment">// makes no sense...</span>
+<a name="l00104"></a><a class="code" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">00104</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">very_small</a>()<span class="keyword"> const</span>
+<a name="l00105"></a>00105 <span class="keyword"> </span>{
+<a name="l00106"></a>00106 <span class="keywordflow">return</span> m_squared_distance &lt;= std::numeric_limits&lt;T&gt;::epsilon();
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108
+<a name="l00110"></a><a class="code" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b">00110</a> <span class="keyword">inline</span> T <a class="code" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b" title="The &amp;quot;squared_value&amp;quot; method returns the internal squared value.">squared_value</a>()<span class="keyword"> const</span>
+<a name="l00111"></a>00111 <span class="keyword"> </span>{
+<a name="l00112"></a>00112 <span class="keywordflow">return</span> m_squared_distance;
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114
+<a name="l00116"></a>00116 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CH, <span class="keyword">typename</span> TR&gt;
+<a name="l00117"></a><a class="code" href="structggl_1_1cartesian__distance.html#5a78899edbed0eae576b6fdc5f784ad2">00117</a> <span class="keyword">inline</span> <span class="keyword">friend</span> std::basic_ostream&lt;CH, TR&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CH, TR&gt;&amp; os,
+<a name="l00118"></a>00118 <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance&lt;T&gt;</a> <span class="keyword">const</span>&amp; d)
+<a name="l00119"></a>00119 {
+<a name="l00120"></a>00120 <span class="comment">// Avoid "ambiguous function call" for MSVC</span>
+<a name="l00121"></a>00121 cast_type <span class="keyword">const</span> sq = d.m_squared_distance;
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 os &lt;&lt;
+<a name="l00124"></a>00124 <span class="preprocessor">#if defined(NUMERIC_ADAPTOR_INCLUDED)</span>
+<a name="l00125"></a>00125 <span class="preprocessor"></span> boost::sqrt(sq);
+<a name="l00126"></a>00126 <span class="preprocessor">#else</span>
+<a name="l00127"></a>00127 <span class="preprocessor"></span> std::sqrt(sq);
+<a name="l00128"></a>00128 <span class="preprocessor">#endif</span>
+<a name="l00129"></a>00129 <span class="preprocessor"></span> <span class="keywordflow">return</span> os;
+<a name="l00130"></a>00130 }
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 };
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="comment">/*</span>
+<a name="l00137"></a>00137 <span class="comment"></span>
+<a name="l00138"></a>00138 <span class="comment"> From Phil Endecott, on the list:</span>
+<a name="l00139"></a>00139 <span class="comment"></span>
+<a name="l00140"></a>00140 <span class="comment"> You can go further. If I'm searching through a long list of points to</span>
+<a name="l00141"></a>00141 <span class="comment"> find the closest to P then I'll avoid the squaring (and conversion to</span>
+<a name="l00142"></a>00142 <span class="comment"> double if my co-ordinates are integers) whenever possible. You can</span>
+<a name="l00143"></a>00143 <span class="comment"> achieve this with a more complex distance proxy:</span>
+<a name="l00144"></a>00144 <span class="comment"></span>
+<a name="l00145"></a>00145 <span class="comment"> class distance_proxy {</span>
+<a name="l00146"></a>00146 <span class="comment"> double dx;</span>
+<a name="l00147"></a>00147 <span class="comment"> double dy;</span>
+<a name="l00148"></a>00148 <span class="comment"> distance_proxy(double dx_, double dy_): dx(dx_), dy(dy_) {}</span>
+<a name="l00149"></a>00149 <span class="comment"> friend pythag_distance(point,point);</span>
+<a name="l00150"></a>00150 <span class="comment"> public:</span>
+<a name="l00151"></a>00151 <span class="comment"> operator double() { return sqrt(dx*dx+dy*dy); }</span>
+<a name="l00152"></a>00152 <span class="comment"> bool operator&gt;(double d) {</span>
+<a name="l00153"></a>00153 <span class="comment"> return dx&gt;d</span>
+<a name="l00154"></a>00154 <span class="comment"> || dy&gt;d</span>
+<a name="l00155"></a>00155 <span class="comment"> || (dx*dx+dy*dy &gt; d*d);</span>
+<a name="l00156"></a>00156 <span class="comment"> }</span>
+<a name="l00157"></a>00157 <span class="comment"> };</span>
+<a name="l00158"></a>00158 <span class="comment"></span>
+<a name="l00159"></a>00159 <span class="comment"> So this is convertible to double, but can be compared to a distance</span>
+<a name="l00160"></a>00160 <span class="comment"> without any need for sqrt() and only multiplication in some cases.</span>
+<a name="l00161"></a>00161 <span class="comment"> Further refinement is possible.</span>
+<a name="l00162"></a>00162 <span class="comment"></span>
+<a name="l00163"></a>00163 <span class="comment"></span>
+<a name="l00164"></a>00164 <span class="comment"> Barend:</span>
+<a name="l00165"></a>00165 <span class="comment"> feasable, needs to be templatized by the number of dimensions. For distance it</span>
+<a name="l00166"></a>00166 <span class="comment"> results in a nice "delayed calculation".</span>
+<a name="l00167"></a>00167 <span class="comment"> For searching you might take another approach, first calculate dx, if OK then dy,</span>
+<a name="l00168"></a>00168 <span class="comment"> if OK then the sqrs. So as above but than distance does not need to be calculated.</span>
+<a name="l00169"></a>00169 <span class="comment"> So it is in fact another strategy.</span>
+<a name="l00170"></a>00170 <span class="comment"></span>
+<a name="l00171"></a>00171 <span class="comment"></span>
+<a name="l00172"></a>00172 <span class="comment">*/</span>
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00177"></a>00177 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00178"></a>00178 {
+<a name="l00179"></a>00179 <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="l00180"></a>00180 {
+<a name="l00181"></a>00181 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T&gt;
+<a name="l00182"></a>00182 <span class="keyword">struct </span>distance_result_maker
+<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> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T&gt;
+<a name="l00187"></a>00187 <span class="keyword">struct </span>distance_result_maker&lt;ggl::cartesian_distance&lt;R&gt;, T&gt;
+<a name="l00188"></a>00188 {
+<a name="l00189"></a>00189 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">ggl::cartesian_distance&lt;R&gt;</a> apply(T <span class="keyword">const</span>&amp; value)
+<a name="l00190"></a>00190 {
+<a name="l00191"></a>00191 <span class="keywordflow">return</span> cartesian_distance&lt;R&gt;(value * value);
+<a name="l00192"></a>00192 }
+<a name="l00193"></a>00193 };
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00196"></a>00196 <span class="keyword">struct </span>distance_result_maker&lt;double, T&gt;
+<a name="l00197"></a>00197 {
+<a name="l00198"></a>00198 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> apply(T <span class="keyword">const</span>&amp; value)
+<a name="l00199"></a>00199 {
+<a name="l00200"></a>00200 <span class="keywordflow">return</span> value;
+<a name="l00201"></a>00201 }
+<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> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00206"></a>00206 <span class="keyword">struct </span><a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098" title="Utility function to check if a distance is very small.">close_to_zero</a>
+<a name="l00207"></a>00207 {
+<a name="l00208"></a>00208 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(T <span class="keyword">const</span>&amp; value)
+<a name="l00209"></a>00209 {
+<a name="l00210"></a>00210 <span class="keywordflow">return</span> value &lt;= std::numeric_limits&lt;T&gt;::epsilon();
+<a name="l00211"></a>00211 }
+<a name="l00212"></a>00212 };
+<a name="l00213"></a>00213
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00216"></a>00216 <span class="keyword">struct </span><a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098" title="Utility function to check if a distance is very small.">close_to_zero</a>&lt;ggl::cartesian_distance&lt;T&gt; &gt;
+<a name="l00217"></a>00217 {
+<a name="l00218"></a>00218 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">ggl::cartesian_distance&lt;T&gt;</a> <span class="keyword">const</span>&amp; value)
+<a name="l00219"></a>00219 {
+<a name="l00220"></a>00220 <span class="keywordflow">return</span> value.<a class="code" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">very_small</a>();
+<a name="l00221"></a>00221 }
+<a name="l00222"></a>00222 };
+<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 <span class="preprocessor">#endif</span>
+<a name="l00228"></a>00228 <span class="preprocessor"></span>
+<a name="l00229"></a>00229
+<a name="l00241"></a>00241 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T&gt;
+<a name="l00242"></a><a class="code" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">00242</a> <span class="keyword">inline</span> R <a class="code" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331" title="Object generator to create instance which can be compared.">make_distance_result</a>(T <span class="keyword">const</span>&amp; value)
+<a name="l00243"></a>00243 {
+<a name="l00244"></a>00244 <span class="keywordflow">return</span> detail::distance::distance_result_maker&lt;R, T&gt;::apply(value);
+<a name="l00245"></a>00245 }
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247
+<a name="l00256"></a>00256 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00257"></a><a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098">00257</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098" title="Utility function to check if a distance is very small.">close_to_zero</a>(T <span class="keyword">const</span>&amp; value)
+<a name="l00258"></a>00258 {
+<a name="l00259"></a>00259 <span class="keywordflow">return</span> detail::distance::close_to_zero&lt;T&gt;::apply(value);
+<a name="l00260"></a>00260 }
+<a name="l00261"></a>00261
+<a name="l00262"></a>00262 } <span class="comment">// namespace ggl</span>
+<a name="l00263"></a>00263
+<a name="l00264"></a>00264
+<a name="l00265"></a>00265 <span class="preprocessor">#endif // GGL_GEOMETRY_STRATEGIES_DISTANCE_RESULT_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/arithmetic/dot_product.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 &nbsp;</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&lt;typename P1 , typename P2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; P1 &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556">ggl::dot_product</a> (P1 const &amp;p1, P2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the dot product of 2 points. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,128 @@
+<!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">
+&nbsp;&nbsp;
+</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/arithmetic/dot_product.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_ARITHMETIC_DOT_PRODUCT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ARITHMETIC_DOT_PRODUCT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
+<a name="l00017"></a>00017 {
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00021"></a>00021 {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00024"></a>00024 <span class="keyword">struct </span>dot_product_maker
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> coordinate_type&lt;P1&gt;::type
+<a name="l00027"></a>00027 apply(P1 <span class="keyword">const</span>&amp; p1, P2 <span class="keyword">const</span>&amp; p2)
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029 <span class="keywordflow">return</span> get&lt;Dimension&gt;(p1) * get&lt;Dimension&gt;(p2)
+<a name="l00030"></a>00030 + dot_product_maker&lt;P1, P2, Dimension+1, DimensionCount&gt;::apply(p1, p2);
+<a name="l00031"></a>00031 }
+<a name="l00032"></a>00032 };
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00035"></a>00035 <span class="keyword">struct </span>dot_product_maker&lt;P1, P2, DimensionCount, DimensionCount&gt;
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> coordinate_type&lt;P1&gt;::type
+<a name="l00038"></a>00038 apply(P1 <span class="keyword">const</span>&amp; p1, P2 <span class="keyword">const</span>&amp; p2)
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keywordflow">return</span> get&lt;DimensionCount&gt;(p1) * get&lt;DimensionCount&gt;(p2);
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042 };
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 } <span class="comment">// namespace detail</span>
+<a name="l00045"></a>00045 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00046"></a>00046 <span class="preprocessor"></span>
+<a name="l00047"></a>00047
+<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00056"></a><a class="code" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556">00056</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;P1&gt;::type</a> <a class="code" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556" title="Computes the dot product of 2 points.">dot_product</a>(P1 <span class="keyword">const</span>&amp; p1, P2 <span class="keyword">const</span>&amp; p2)
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint&lt;P1&gt;</a>) );
+<a name="l00059"></a>00059 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint&lt;P2&gt;</a>) );
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keywordflow">return</span> detail::dot_product_maker
+<a name="l00062"></a>00062 &lt;
+<a name="l00063"></a>00063 P1, P2,
+<a name="l00064"></a>00064 0, <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;P1&gt;::type::value</a> - 1
+<a name="l00065"></a>00065 &gt;::apply(p1, p2);
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 } <span class="comment">// namespace ggl</span>
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="preprocessor">#endif // GGL_ARITHMETIC_DOT_PRODUCT_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/download.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/download.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,65 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1><a class="anchor" name="download">Download the Generic Geometry Library </a></h1>The library can be downloaded from Boost SVN. There is anonymous SVN access.<p>
+The command<p>
+<code>svn co https://svn.boost.org/svn/boost/sandbox/ggl <a class="el" href="namespaceggl.html">ggl</a></code><p>
+will download the library to your machine.<p>
+Current "formal review request" version is here: https://svn.boost.org/svn/boost/sandbox/ggl/formal_review_request </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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen.css
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen.css 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,441 @@
+body, table, div, p, dl {
+ font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
+ font-size: 12px;
+}
+
+/* @group Heading Levels */
+
+h1 {
+ text-align: center;
+ font-size: 150%;
+}
+
+h2 {
+ font-size: 120%;
+}
+
+h3 {
+ font-size: 100%;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+div.qindex, div.navtab{
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #153788;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #1b77c5;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #6666cc;
+ color: #ffffff;
+ border: 1px double #9295C2;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code {
+}
+
+a.codeRef {
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+.fragment {
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+pre.fragment {
+ border: 1px solid #CCCCCC;
+ background-color: #f5f5f5;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background: white;
+ color: black;
+ margin-right: 20px;
+ margin-left: 20px;
+}
+
+td.indexkey {
+ background-color: #e8eef2;
+ font-weight: bold;
+ border: 1px solid #CCCCCC;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+}
+
+td.indexvalue {
+ background-color: #e8eef2;
+ border: 1px solid #CCCCCC;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #f0f0f0;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+/* @end */
+
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #84b0c7;
+}
+
+th.dirtab {
+ background: #e8eef2;
+ font-weight: bold;
+}
+
+hr {
+ height: 0;
+ border: none;
+ border-top: 1px solid #666;
+}
+
+/* @group Member Descriptions */
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #FAFAFA;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memItemLeft, .memItemRight, .memTemplParams {
+ border-top: 1px solid #ccc;
+}
+
+.memTemplParams {
+ color: #606060;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #606060;
+ font-weight: normal;
+ margin-left: 3px;
+}
+
+.memnav {
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.memitem {
+ padding: 0;
+}
+
+.memname {
+ white-space: nowrap;
+ font-weight: bold;
+}
+
+.memproto, .memdoc {
+ border: 1px solid #84b0c7;
+}
+
+.memproto {
+ padding: 0;
+ background-color: #d5e1e8;
+ font-weight: bold;
+ -webkit-border-top-left-radius: 8px;
+ -webkit-border-top-right-radius: 8px;
+ -moz-border-radius-topleft: 8px;
+ -moz-border-radius-topright: 8px;
+}
+
+.memdoc {
+ padding: 2px 5px;
+ background-color: #eef3f5;
+ border-top-width: 0;
+ -webkit-border-bottom-left-radius: 8px;
+ -webkit-border-bottom-right-radius: 8px;
+ -moz-border-radius-bottomleft: 8px;
+ -moz-border-radius-bottomright: 8px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+
+/* @end */
+
+/* @group Directory (tree) */
+
+/* for the tree view */
+
+.ftvtree {
+ font-family: sans-serif;
+ margin: 0.5em;
+}
+
+/* these are for tree view when used as main index */
+
+.directory {
+ font-size: 9pt;
+ font-weight: bold;
+}
+
+.directory h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+/*
+The following two styles can be used to replace the root node title
+with an image of your choice. Simply uncomment the next two styles,
+specify the name of your image and be sure to set 'height' to the
+proper pixel height of your image.
+*/
+
+/*
+.directory h3.swap {
+ height: 61px;
+ background-repeat: no-repeat;
+ background-image: url("yourimage.gif");
+}
+.directory h3.swap span {
+ display: none;
+}
+*/
+
+.directory > h3 {
+ margin-top: 0;
+}
+
+.directory p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory div {
+ display: none;
+ margin: 0px;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+/* these are for tree view when not used as main index */
+
+.directory-alt {
+ font-size: 100%;
+ font-weight: bold;
+}
+
+.directory-alt h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+.directory-alt > h3 {
+ margin-top: 0;
+}
+
+.directory-alt p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory-alt div {
+ display: none;
+ margin: 0px;
+}
+
+.directory-alt img {
+ vertical-align: -30%;
+}
+
+/* @end */
+
+address {
+ font-style: normal;
+ color: #333;
+}

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__design__cross__section_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__design__cross__section_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</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>doxygen_design_cross_section.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__design__cross__section_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__design__cross__section_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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>doxygen_design_cross_section.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 _DOXYGEN_DESIGN_RATIONALE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define _DOXYGEN_DESIGN_RATIONALE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00014"></a>00014
+<a name="l00820"></a>00820 <span class="preprocessor">#endif // _DOXYGEN_DESIGN_RATIONALE_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__examples_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__examples_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</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>doxygen_examples.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__examples_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__examples_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,101 @@
+<!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">
+&nbsp;&nbsp;
+</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>doxygen_examples.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 _DOXYGEN_EXAMPLES_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define _DOXYGEN_EXAMPLES_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00031"></a>00031 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00032"></a>00032
+<a name="l00072"></a>00072 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00073"></a>00073
+<a name="l00104"></a>00104 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00111"></a>00111 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00112"></a>00112
+<a name="l00141"></a>00141 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00148"></a>00148 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00154"></a>00154 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00155"></a>00155 <span class="comment">/*</span>
+<a name="l00156"></a>00156 <span class="comment">\example c03_custom_linestring_example.cpp</span>
+<a name="l00157"></a>00157 <span class="comment">GPS tracks are shown in this example: a custom linestring with GPS points</span>
+<a name="l00158"></a>00158 <span class="comment">*/</span>
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00167"></a>00167 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00173"></a>00173 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------`</span>
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00193"></a>00193 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00200"></a>00200 <span class="comment"></span><span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00207"></a>00207 <span class="comment"></span><span class="preprocessor">#endif // _DOXYGEN_EXAMPLES_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__mainpage_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__mainpage_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</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>doxygen_mainpage.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__mainpage_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__mainpage_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,78 @@
+<!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">
+&nbsp;&nbsp;
+</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>doxygen_mainpage.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 _DOXYGEN_MAINPAGE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define _DOXYGEN_MAINPAGE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00094"></a>00094 <span class="preprocessor">#endif // _DOXYGEN_MAINPAGE_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</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>doxygen_pages.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,93 @@
+<!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">
+&nbsp;&nbsp;
+</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>doxygen_pages.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 _DOXYGEN_PAGES_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define _DOXYGEN_PAGES_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00014"></a>00014
+<a name="l00072"></a>00072 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00073"></a>00073
+<a name="l00148"></a>00148 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00149"></a>00149
+<a name="l00176"></a>00176 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00177"></a>00177
+<a name="l00188"></a>00188 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190
+<a name="l00286"></a>00286 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00287"></a>00287
+<a name="l00373"></a>00373 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00374"></a>00374
+<a name="l00396"></a>00396 <span class="preprocessor">#endif // _DOXYGEN_PAGES_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dsv.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dsv.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,62 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1><a class="anchor" name="DSV">DSV (Delimiter Separated Values) </a></h1>DSV is a text representation of a geometry, explained here: http://en.wikipedia.org/wiki/Delimiter-separated_values DSV can represent a point, a linestring, a polygon, or multi versions of those.<p>
+It is currently just a utility in the library, used in samples and tests, to get some textual output of a geometry. </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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/enrich_intersection_points.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 &nbsp;</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&lt;typename IntersectionPoints &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3">ggl::enrich_intersection_points</a> (IntersectionPoints &amp;intersection_points, bool trivial)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All intersection points are enriched with successor information. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,558 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/enrich_intersection_points.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_ALGORITHMS_ENRICH_INTERSECTION_POINTS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_ENRICH_INTERSECTION_POINTS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;algorithm&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;map&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#endif</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span>
+<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> M&gt;
+<a name="l00034"></a>00034 <span class="keyword">inline</span> <span class="keywordtype">void</span> report_map(M <span class="keyword">const</span>&amp; map)
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 std::cout &lt;&lt; <span class="stringliteral">"Map [source,segment(,ring,multi)] -&gt; [count]:"</span> &lt;&lt; std::endl;
+<a name="l00037"></a>00037 <span class="keywordflow">for</span> (<span class="keyword">typename</span> M::const_iterator it = map.begin(); it != map.end(); it++)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 std::cout &lt;&lt; <span class="stringliteral">"("</span> &lt;&lt; it-&gt;first &lt;&lt; <span class="stringliteral">")"</span>
+<a name="l00040"></a>00040 &lt;&lt; <span class="stringliteral">" -&gt; "</span> &lt;&lt; <span class="stringliteral">"("</span> &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">")"</span> &lt;&lt; std::endl;
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt;
+<a name="l00046"></a>00046 <span class="keyword">inline</span> <span class="keywordtype">void</span> report_indexed(V <span class="keyword">const</span>&amp; index)
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;V&gt;::type iterator_type;
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keywordflow">for</span> (iterator_type it = boost::begin(index); it != boost::end(index); ++it)
+<a name="l00051"></a>00051 {
+<a name="l00052"></a>00052 std::cout &lt;&lt; it-&gt;index &lt;&lt; <span class="stringliteral">": "</span> &lt;&lt; it-&gt;subject;
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="preprocessor">#endif // GGL_DEBUG_INTERSECTION</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span>
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00060"></a>00060 <span class="keyword">struct </span>indexed_source_segment
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 std::size_t index;
+<a name="l00063"></a>00063 T subject;
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">inline</span> indexed_source_segment() {}
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">inline</span> indexed_source_segment(std::size_t i, T <span class="keyword">const</span>&amp; s, segment_identifier <span class="keyword">const</span>&amp; seg_id)
+<a name="l00068"></a>00068 : index(i)
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 s.clone_except_info(subject);
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">typedef</span> <span class="keyword">typename</span> T::traversal_vector vector_type;
+<a name="l00073"></a>00073 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;vector_type&gt;::type it = s.info.begin();
+<a name="l00074"></a>00074 it != s.info.end(); ++it)
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="comment">// Copy info-record if belonging to source and to segment</span>
+<a name="l00077"></a>00077 <span class="keywordflow">if</span> (it-&gt;seg_id == seg_id)
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 subject.info.push_back(*it);
+<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
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00087"></a>00087 <span class="keyword">struct </span>indexed_source
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 T subject;
+<a name="l00090"></a>00090 std::size_t index;
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="keyword">inline</span> indexed_source() {}
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keyword">inline</span> indexed_source(std::size_t i, T <span class="keyword">const</span>&amp; s,
+<a name="l00095"></a>00095 <span class="keywordtype">int</span> source_index, <span class="keywordtype">int</span> multi_index, <span class="keywordtype">int</span> ring_index)
+<a name="l00096"></a>00096 : index(i)
+<a name="l00097"></a>00097 {
+<a name="l00098"></a>00098 s.clone_except_info(subject);
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">typedef</span> <span class="keyword">typename</span> T::traversal_vector vector_type;
+<a name="l00101"></a>00101 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;vector_type&gt;::type it = s.info.begin();
+<a name="l00102"></a>00102 it != s.info.end(); ++it)
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 <span class="comment">// Copy info-record if belonging to source</span>
+<a name="l00105"></a>00105 <span class="keywordflow">if</span> (it-&gt;seg_id.source_index == source_index
+<a name="l00106"></a>00106 &amp;&amp; it-&gt;seg_id.multi_index == multi_index
+<a name="l00107"></a>00107 &amp;&amp; it-&gt;seg_id.ring_index == ring_index)
+<a name="l00108"></a>00108 {
+<a name="l00109"></a>00109 subject.info.push_back(*it);
+<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
+<a name="l00116"></a>00116 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Indexed&gt;
+<a name="l00117"></a>00117 <span class="keyword">struct </span>sort_on_distance
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(Indexed <span class="keyword">const</span>&amp; left, Indexed <span class="keyword">const</span>&amp; right)<span class="keyword"> const</span>
+<a name="l00120"></a>00120 <span class="keyword"> </span>{
+<a name="l00121"></a>00121 <span class="comment">// Sanity check, there should be info-records because only those are copied</span>
+<a name="l00122"></a>00122 BOOST_ASSERT (left.subject.info.size() &gt; 0 &amp;&amp; right.subject.info.size() &gt; 0);
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 <span class="keywordflow">return</span> left.subject.info.front().distance &lt; right.subject.info.front().distance;
+<a name="l00125"></a>00125 }
+<a name="l00126"></a>00126 };
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="comment">// Sorts on segment + ring_index + multi_index</span>
+<a name="l00129"></a>00129 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Indexed&gt;
+<a name="l00130"></a>00130 <span class="keyword">struct </span>sort_on_segment_identifier
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(Indexed <span class="keyword">const</span>&amp; left, Indexed <span class="keyword">const</span>&amp; right)<span class="keyword"> const</span>
+<a name="l00133"></a>00133 <span class="keyword"> </span>{
+<a name="l00134"></a>00134 <span class="comment">// Sanity check</span>
+<a name="l00135"></a>00135 BOOST_ASSERT (left.subject.info.size() &gt; 0 &amp;&amp; right.subject.info.size() &gt; 0);
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 segment_identifier <span class="keyword">const</span>&amp; sl = left.subject.info.front().seg_id;
+<a name="l00138"></a>00138 segment_identifier <span class="keyword">const</span>&amp; sr = right.subject.info.front().seg_id;
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="keywordflow">return</span> sl == sr
+<a name="l00141"></a>00141 ? left.subject.info.front().distance &lt; right.subject.info.front().distance
+<a name="l00142"></a>00142 : sl &lt; sr;
+<a name="l00143"></a>00143 }
+<a name="l00144"></a>00144 };
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Info&gt;
+<a name="l00148"></a>00148 <span class="keyword">struct </span>on_source_segment_dir
+<a name="l00149"></a>00149 {
+<a name="l00150"></a>00150 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(Info <span class="keyword">const</span>&amp; left, Info <span class="keyword">const</span>&amp; right)<span class="keyword"> const</span>
+<a name="l00151"></a>00151 <span class="keyword"> </span>{
+<a name="l00152"></a>00152 <span class="keywordtype">int</span> ldir = left.direction;
+<a name="l00153"></a>00153 <span class="keywordtype">int</span> rdir = right.direction;
+<a name="l00154"></a>00154 <span class="keywordflow">if</span> (ldir == -1) ldir = 2;
+<a name="l00155"></a>00155 <span class="keywordflow">if</span> (rdir == -1) rdir = 2;
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="keywordflow">return</span> left.seg_id.source_index == right.seg_id.source_index
+<a name="l00159"></a>00159 ? (left.seg_id.segment_index == right.seg_id.segment_index
+<a name="l00160"></a>00160 ? ldir &lt; rdir
+<a name="l00161"></a>00161 : left.seg_id.segment_index &lt; right.seg_id.segment_index
+<a name="l00162"></a>00162 )
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 : left.seg_id.source_index &lt; right.seg_id.source_index;
+<a name="l00165"></a>00165 }
+<a name="l00166"></a>00166 };
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 <span class="comment">// Assigns IP[index] . info[source/multi/ring/segment] . next_ip_index</span>
+<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt;
+<a name="l00174"></a>00174 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> assign_next_ip_index(V&amp; intersection_points, <span class="keywordtype">int</span> index,
+<a name="l00175"></a>00175 segment_identifier <span class="keyword">const</span>&amp; seg_id,
+<a name="l00176"></a>00176 <span class="keywordtype">int</span> next_ip_index)
+<a name="l00177"></a>00177 {
+<a name="l00178"></a>00178 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;V&gt;::type ip_type;
+<a name="l00179"></a>00179 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector vector_type;
+<a name="l00180"></a>00180 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;vector_type&gt;::type iterator_type;
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 ip_type&amp; ip = intersection_points[index];
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 <span class="keywordflow">for</span> (iterator_type it = boost::begin(ip.info);
+<a name="l00185"></a>00185 it != boost::end(ip.info);
+<a name="l00186"></a>00186 ++it)
+<a name="l00187"></a>00187 {
+<a name="l00188"></a>00188 <span class="keywordflow">if</span> (it-&gt;seg_id == seg_id)
+<a name="l00189"></a>00189 {
+<a name="l00190"></a>00190 it-&gt;next_ip_index = next_ip_index;
+<a name="l00191"></a>00191 <span class="comment">// Note: there can be MORE than one here. So do NOT return</span>
+<a name="l00192"></a>00192 }
+<a name="l00193"></a>00193 }
+<a name="l00194"></a>00194 }
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 <span class="comment">// Assigns IP[index] . info[source_index] . travels_to_[vertex,ip]_index</span>
+<a name="l00198"></a>00198 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt;
+<a name="l00199"></a>00199 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> assign_last_vertex(V&amp; intersection_points, <span class="keywordtype">int</span> index,
+<a name="l00200"></a>00200 <span class="keywordtype">int</span> source_index,
+<a name="l00201"></a>00201 <span class="keywordtype">int</span> travels_to_vertex_index, <span class="keywordtype">int</span> travels_to_ip_index)
+<a name="l00202"></a>00202 {
+<a name="l00203"></a>00203 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;V&gt;::type ip_type;
+<a name="l00204"></a>00204 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector vector_type;
+<a name="l00205"></a>00205 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;vector_type&gt;::type iterator_type;
+<a name="l00206"></a>00206
+<a name="l00207"></a>00207 ip_type&amp; ip = intersection_points[index];
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 <span class="keywordflow">for</span> (iterator_type it = boost::begin(ip.info); it != boost::end(ip.info); ++it)
+<a name="l00210"></a>00210 {
+<a name="l00211"></a>00211 <span class="keywordflow">if</span> (it-&gt;seg_id.source_index == source_index)
+<a name="l00212"></a>00212 {
+<a name="l00213"></a>00213 it-&gt;travels_to_vertex_index = travels_to_vertex_index;
+<a name="l00214"></a>00214 it-&gt;travels_to_ip_index = travels_to_ip_index;
+<a name="l00215"></a>00215 <span class="comment">// do not return here, there can be more than one</span>
+<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
+<a name="l00221"></a>00221 <span class="comment">// Creates selection of IP-s of only this unique source/segment,</span>
+<a name="l00222"></a>00222 <span class="comment">// then sorts on distance,</span>
+<a name="l00223"></a>00223 <span class="comment">// then assigns for each IP which is the next IP on this segment.</span>
+<a name="l00224"></a>00224 <span class="comment">// This is only applicable (but essential) for segments having</span>
+<a name="l00225"></a>00225 <span class="comment">// more than one IP on it. It is not the usual situation, so not</span>
+<a name="l00226"></a>00226 <span class="comment">// computational intensive.</span>
+<a name="l00227"></a>00227 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt;
+<a name="l00228"></a>00228 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> assign_next_points(V&amp; intersection_points,
+<a name="l00229"></a>00229 segment_identifier <span class="keyword">const</span>&amp; seg_id)
+<a name="l00230"></a>00230 {
+<a name="l00231"></a>00231 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;V&gt;::type ip_type;
+<a name="l00232"></a>00232 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;V&gt;::type iterator_type;
+<a name="l00233"></a>00233 <span class="keyword">typedef</span> indexed_source_segment&lt;ip_type&gt; indexed_type;
+<a name="l00234"></a>00234 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector vector_type;
+<a name="l00235"></a>00235 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;vector_type&gt;::type tvit_type;
+<a name="l00236"></a>00236
+<a name="l00237"></a>00237 <span class="comment">// Create a copy of all IP's on this segment from this source</span>
+<a name="l00238"></a>00238
+<a name="l00239"></a>00239 std::vector&lt;indexed_type&gt; copy;
+<a name="l00240"></a>00240 copy.reserve(intersection_points.size());
+<a name="l00241"></a>00241 std::size_t index = 0;
+<a name="l00242"></a>00242 <span class="keywordflow">for</span> (iterator_type it = boost::begin(intersection_points);
+<a name="l00243"></a>00243 it != boost::end(intersection_points);
+<a name="l00244"></a>00244 ++it, ++index)
+<a name="l00245"></a>00245 {
+<a name="l00246"></a>00246 <span class="keywordtype">bool</span> to_be_copied = <span class="keyword">false</span>;
+<a name="l00247"></a>00247 <span class="keywordflow">for</span> (tvit_type tvit = boost::begin(it-&gt;info);
+<a name="l00248"></a>00248 !to_be_copied &amp;&amp; tvit != boost::end(it-&gt;info);
+<a name="l00249"></a>00249 ++tvit)
+<a name="l00250"></a>00250 {
+<a name="l00251"></a>00251 <span class="keywordflow">if</span> (tvit-&gt;seg_id == seg_id)
+<a name="l00252"></a>00252 {
+<a name="l00253"></a>00253 to_be_copied = <span class="keyword">true</span>;
+<a name="l00254"></a>00254 }
+<a name="l00255"></a>00255 }
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257 <span class="keywordflow">if</span> (to_be_copied)
+<a name="l00258"></a>00258 {
+<a name="l00259"></a>00259 <span class="comment">// Copy this row, plus ONLY the related information</span>
+<a name="l00260"></a>00260 copy.push_back(indexed_type(index, *it, seg_id));
+<a name="l00261"></a>00261 }
+<a name="l00262"></a>00262 }
+<a name="l00263"></a>00263
+<a name="l00264"></a>00264 <span class="comment">// Normally there are more elements in "copy".</span>
+<a name="l00265"></a>00265 <span class="comment">// But in case of merges there could be only one.</span>
+<a name="l00266"></a>00266 <span class="keywordflow">if</span> (boost::size(copy) &lt;= 1)
+<a name="l00267"></a>00267 {
+<a name="l00268"></a>00268 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00269"></a>00269 }
+<a name="l00270"></a>00270
+<a name="l00271"></a>00271 std::sort(copy.begin(), copy.end(), sort_on_distance&lt;indexed_type&gt;());
+<a name="l00272"></a>00272
+<a name="l00273"></a>00273
+<a name="l00274"></a>00274 <span class="comment">// Now that it is sorted, do the main purpose: assign the next points</span>
+<a name="l00275"></a>00275 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
+<a name="l00276"></a>00276 &lt;
+<a name="l00277"></a>00277 std::vector&lt;indexed_type&gt;
+<a name="l00278"></a>00278 &gt;::type indexed_iterator_type;
+<a name="l00279"></a>00279
+<a name="l00280"></a>00280 indexed_iterator_type it = boost::begin(copy);
+<a name="l00281"></a>00281 <span class="keywordflow">for</span> (indexed_iterator_type prev = it++; it != boost::end(copy); prev = it++)
+<a name="l00282"></a>00282 {
+<a name="l00283"></a>00283 <span class="keywordflow">for</span> (
+<a name="l00284"></a>00284 #ifdef GGL_DEBUG_INTERSECTION
+<a name="l00285"></a>00285 <span class="keyword">typename</span> boost::range_iterator&lt;vector_type&gt;::type
+<a name="l00286"></a>00286 #<span class="keywordflow">else</span>
+<a name="l00287"></a>00287 tvit_type
+<a name="l00288"></a>00288 #endif
+<a name="l00289"></a>00289 tvit = boost::begin(it-&gt;subject.info);
+<a name="l00290"></a>00290 tvit != boost::end(it-&gt;subject.info);
+<a name="l00291"></a>00291 ++tvit)
+<a name="l00292"></a>00292 {
+<a name="l00293"></a>00293 <span class="keywordflow">if</span> (tvit-&gt;seg_id == seg_id)
+<a name="l00294"></a>00294 {
+<a name="l00295"></a>00295 assign_next_ip_index(intersection_points, prev-&gt;index, seg_id, it-&gt;index);
+<a name="l00296"></a>00296
+<a name="l00297"></a>00297 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00298"></a>00298 <span class="preprocessor"></span> tvit-&gt;next_ip_index = it-&gt;index;
+<a name="l00299"></a>00299 <span class="preprocessor">#endif</span>
+<a name="l00300"></a>00300 <span class="preprocessor"></span>
+<a name="l00301"></a>00301 }
+<a name="l00302"></a>00302 }
+<a name="l00303"></a>00303 }
+<a name="l00304"></a>00304
+<a name="l00305"></a>00305 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00306"></a>00306 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Enrichment - sorted (on distance, "</span> &lt;&lt; seg_id &lt;&lt; <span class="stringliteral">"): "</span> &lt;&lt; std::endl;
+<a name="l00307"></a>00307 report_indexed(copy);
+<a name="l00308"></a>00308 <span class="preprocessor">#endif</span>
+<a name="l00309"></a>00309 <span class="preprocessor"></span>
+<a name="l00310"></a>00310 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00311"></a>00311 }
+<a name="l00312"></a>00312
+<a name="l00313"></a>00313
+<a name="l00314"></a>00314 <span class="comment">// If a segment has more than one IP, we determine what is the next IP</span>
+<a name="l00315"></a>00315 <span class="comment">// on that segment</span>
+<a name="l00316"></a>00316 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> M, <span class="keyword">typename</span> V&gt;
+<a name="l00317"></a>00317 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> assign_next_points(M&amp; map, V&amp; intersection_points)
+<a name="l00318"></a>00318 {
+<a name="l00319"></a>00319 <span class="keywordtype">bool</span> assigned = <span class="keyword">false</span>;
+<a name="l00320"></a>00320 <span class="keywordflow">for</span> (<span class="keyword">typename</span> M::iterator mit = map.begin(); mit != map.end(); ++mit)
+<a name="l00321"></a>00321 {
+<a name="l00322"></a>00322 <span class="comment">// IF there are more IP's on this segment</span>
+<a name="l00323"></a>00323 <span class="keywordflow">if</span> (mit-&gt;second &gt; 1)
+<a name="l00324"></a>00324 {
+<a name="l00325"></a>00325 <span class="keywordflow">if</span> (assign_next_points(intersection_points, mit-&gt;first))
+<a name="l00326"></a>00326 {
+<a name="l00327"></a>00327 assigned = <span class="keyword">true</span>;
+<a name="l00328"></a>00328 }
+<a name="l00329"></a>00329 }
+<a name="l00330"></a>00330 }
+<a name="l00331"></a>00331
+<a name="l00332"></a>00332 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00333"></a>00333 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Enrichment - assigned next points on same segment: "</span> &lt;&lt; std::endl;
+<a name="l00334"></a>00334 report_ip(intersection_points);
+<a name="l00335"></a>00335 <span class="preprocessor">#endif</span>
+<a name="l00336"></a>00336 <span class="preprocessor"></span>
+<a name="l00337"></a>00337 <span class="keywordflow">return</span> assigned;
+<a name="l00338"></a>00338 }
+<a name="l00339"></a>00339
+<a name="l00340"></a>00340
+<a name="l00341"></a>00341 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt;
+<a name="l00342"></a>00342 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> assign_order(V&amp; intersection_points,
+<a name="l00343"></a>00343 <span class="keywordtype">int</span> source_index, <span class="keywordtype">int</span> multi_index, <span class="keywordtype">int</span> ring_index)
+<a name="l00344"></a>00344 {
+<a name="l00345"></a>00345 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;V&gt;::type ip_type;
+<a name="l00346"></a>00346 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;V&gt;::type iterator_type;
+<a name="l00347"></a>00347 <span class="keyword">typedef</span> indexed_source&lt;ip_type&gt; indexed_type;
+<a name="l00348"></a>00348 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector vector_type;
+<a name="l00349"></a>00349 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;vector_type&gt;::type tvit_type;
+<a name="l00350"></a>00350
+<a name="l00351"></a>00351 <span class="comment">// Create a copy of all IP's from this source</span>
+<a name="l00352"></a>00352 std::vector&lt;indexed_type&gt; copy;
+<a name="l00353"></a>00353 copy.reserve(intersection_points.size());
+<a name="l00354"></a>00354 std::size_t index = 0;
+<a name="l00355"></a>00355 <span class="keywordflow">for</span> (iterator_type it = boost::begin(intersection_points);
+<a name="l00356"></a>00356 it != boost::end(intersection_points);
+<a name="l00357"></a>00357 ++it, ++index)
+<a name="l00358"></a>00358 {
+<a name="l00359"></a>00359 <span class="keywordtype">bool</span> to_be_copied = <span class="keyword">false</span>;
+<a name="l00360"></a>00360 <span class="keywordflow">for</span> (tvit_type tvit = boost::begin(it-&gt;info);
+<a name="l00361"></a>00361 !to_be_copied &amp;&amp; tvit != boost::end(it-&gt;info);
+<a name="l00362"></a>00362 ++tvit)
+<a name="l00363"></a>00363 {
+<a name="l00364"></a>00364 <span class="keywordflow">if</span> (tvit-&gt;seg_id.source_index == source_index
+<a name="l00365"></a>00365 &amp;&amp; tvit-&gt;seg_id.multi_index == multi_index
+<a name="l00366"></a>00366 &amp;&amp; tvit-&gt;seg_id.ring_index == ring_index)
+<a name="l00367"></a>00367 {
+<a name="l00368"></a>00368 to_be_copied = <span class="keyword">true</span>;
+<a name="l00369"></a>00369 }
+<a name="l00370"></a>00370 }
+<a name="l00371"></a>00371
+<a name="l00372"></a>00372 <span class="keywordflow">if</span> (to_be_copied)
+<a name="l00373"></a>00373 {
+<a name="l00374"></a>00374 <span class="comment">// Copy this row, plus ONLY the related information</span>
+<a name="l00375"></a>00375 copy.push_back(indexed_type(index, *it, source_index, multi_index, ring_index));
+<a name="l00376"></a>00376 }
+<a name="l00377"></a>00377 }
+<a name="l00378"></a>00378
+<a name="l00379"></a>00379 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00380"></a>00380 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Enrichment - ordered/copy (on segment "</span>
+<a name="l00381"></a>00381 &lt;&lt; <span class="stringliteral">" src: "</span> &lt;&lt; source_index
+<a name="l00382"></a>00382 &lt;&lt; <span class="stringliteral">"): "</span> &lt;&lt; std::endl;
+<a name="l00383"></a>00383 report_indexed(copy);
+<a name="l00384"></a>00384 <span class="preprocessor">#endif</span>
+<a name="l00385"></a>00385 <span class="preprocessor"></span>
+<a name="l00386"></a>00386 std::sort(copy.begin(), copy.end(), sort_on_segment_identifier&lt;indexed_type&gt;());
+<a name="l00387"></a>00387
+<a name="l00388"></a>00388 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;std::vector&lt;indexed_type&gt; &gt;::type iit_type;
+<a name="l00389"></a>00389
+<a name="l00390"></a>00390 <span class="comment">// Now that it is sorted, do the main purpose:</span>
+<a name="l00391"></a>00391 <span class="comment">// assign travel-to-vertex/ip index for each IP</span>
+<a name="l00392"></a>00392 <span class="comment">// Because IP's are circular, PREV starts at the very last one,</span>
+<a name="l00393"></a>00393 <span class="comment">// being assigned from the first one.</span>
+<a name="l00394"></a>00394 iit_type it = boost::begin(copy);
+<a name="l00395"></a>00395 <span class="keywordflow">for</span> (iit_type prev = it + (boost::size(copy) - 1);
+<a name="l00396"></a>00396 it != boost::end(copy);
+<a name="l00397"></a>00397 prev = it++)
+<a name="l00398"></a>00398 {
+<a name="l00399"></a>00399 <span class="keywordflow">for</span> (tvit_type tvit = boost::begin(it-&gt;subject.info);
+<a name="l00400"></a>00400 tvit != boost::end(it-&gt;subject.info);
+<a name="l00401"></a>00401 ++tvit)
+<a name="l00402"></a>00402 {
+<a name="l00403"></a>00403 <span class="keywordflow">if</span> (tvit-&gt;seg_id.source_index == source_index
+<a name="l00404"></a>00404 &amp;&amp; tvit-&gt;seg_id.multi_index == multi_index
+<a name="l00405"></a>00405 &amp;&amp; tvit-&gt;seg_id.ring_index == ring_index)
+<a name="l00406"></a>00406 {
+<a name="l00407"></a>00407 assign_last_vertex(intersection_points, prev-&gt;index, source_index,
+<a name="l00408"></a>00408 tvit-&gt;seg_id.segment_index, it-&gt;index);
+<a name="l00409"></a>00409 }
+<a name="l00410"></a>00410 }
+<a name="l00411"></a>00411 }
+<a name="l00412"></a>00412
+<a name="l00413"></a>00413 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00414"></a>00414 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Enrichment - ordered on segment (src: "</span>
+<a name="l00415"></a>00415 &lt;&lt; source_index &lt;&lt; <span class="stringliteral">"): "</span> &lt;&lt; std::endl;
+<a name="l00416"></a>00416 report_ip(intersection_points);
+<a name="l00417"></a>00417 <span class="preprocessor">#endif</span>
+<a name="l00418"></a>00418 <span class="preprocessor"></span>
+<a name="l00419"></a>00419 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00420"></a>00420 }
+<a name="l00421"></a>00421
+<a name="l00422"></a>00422 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> M, <span class="keyword">typename</span> V&gt;
+<a name="l00423"></a>00423 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> assign_order(M <span class="keyword">const</span>&amp; map, V&amp; intersection_points)
+<a name="l00424"></a>00424 {
+<a name="l00425"></a>00425 <span class="keyword">typename</span> M::const_iterator prev;
+<a name="l00426"></a>00426 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+<a name="l00427"></a>00427 <span class="keywordflow">for</span> (<span class="keyword">typename</span> M::const_iterator mit = map.begin(); mit != map.end(); ++mit)
+<a name="l00428"></a>00428 {
+<a name="l00429"></a>00429 <span class="keywordflow">if</span> (first
+<a name="l00430"></a>00430 || prev-&gt;first.source_index != mit-&gt;first.source_index
+<a name="l00431"></a>00431 || prev-&gt;first.ring_index != mit-&gt;first.ring_index
+<a name="l00432"></a>00432 || prev-&gt;first.multi_index != mit-&gt;first.multi_index)
+<a name="l00433"></a>00433 {
+<a name="l00434"></a>00434 assign_order(intersection_points, mit-&gt;first.source_index,
+<a name="l00435"></a>00435 mit-&gt;first.multi_index, mit-&gt;first.ring_index);
+<a name="l00436"></a>00436 first = <span class="keyword">false</span>;
+<a name="l00437"></a>00437 }
+<a name="l00438"></a>00438 prev = mit;
+<a name="l00439"></a>00439 }
+<a name="l00440"></a>00440
+<a name="l00441"></a>00441 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00442"></a>00442 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Enrichment - assigned order: "</span> &lt;&lt; std::endl;
+<a name="l00443"></a>00443 report_ip(intersection_points);
+<a name="l00444"></a>00444 <span class="preprocessor">#endif</span>
+<a name="l00445"></a>00445 <span class="preprocessor"></span>
+<a name="l00446"></a>00446 }
+<a name="l00447"></a>00447
+<a name="l00448"></a>00448
+<a name="l00449"></a>00449
+<a name="l00450"></a>00450
+<a name="l00451"></a>00451 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00452"></a>00452 <span class="preprocessor">#endif //DOXYGEN_NO_DETAIL</span>
+<a name="l00453"></a>00453 <span class="preprocessor"></span>
+<a name="l00454"></a>00454
+<a name="l00463"></a>00463 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00464"></a><a class="code" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3">00464</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3" title="All intersection points are enriched with successor information.">enrich_intersection_points</a>(IntersectionPoints&amp; intersection_points, <span class="keywordtype">bool</span> trivial)
+<a name="l00465"></a>00465 {
+<a name="l00466"></a>00466
+<a name="l00467"></a>00467 <span class="comment">// Create a map of segment&lt;source_index,segment_index,ring_index,multi_index&gt;</span>
+<a name="l00468"></a>00468 <span class="comment">// to &lt;number of IP's on this segment&gt;</span>
+<a name="l00469"></a>00469 <span class="comment">// Purpose: count IP's per source/segment, sort them lateron</span>
+<a name="l00470"></a>00470 std::map&lt;segment_identifier, int&gt; map;
+<a name="l00471"></a>00471
+<a name="l00472"></a>00472 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;IntersectionPoints&gt;::type iterator_type;
+<a name="l00473"></a>00473 <span class="keywordflow">for</span> (iterator_type it = boost::begin(intersection_points);
+<a name="l00474"></a>00474 it != boost::end(intersection_points);
+<a name="l00475"></a>00475 ++it)
+<a name="l00476"></a>00476 {
+<a name="l00477"></a>00477 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value
+<a name="l00478"></a>00478 &lt;
+<a name="l00479"></a>00479 IntersectionPoints
+<a name="l00480"></a>00480 &gt;::type::traversal_vector vector_type;
+<a name="l00481"></a>00481 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;vector_type&gt;::type tvit_type;
+<a name="l00482"></a>00482 <span class="keywordflow">for</span> (tvit_type tvit = boost::begin(it-&gt;info);
+<a name="l00483"></a>00483 tvit != boost::end(it-&gt;info);
+<a name="l00484"></a>00484 ++tvit)
+<a name="l00485"></a>00485 {
+<a name="l00486"></a>00486 map[tvit-&gt;seg_id]++;
+<a name="l00487"></a>00487 }
+<a name="l00488"></a>00488 }
+<a name="l00489"></a>00489
+<a name="l00490"></a>00490 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00491"></a>00491 <span class="preprocessor"></span> detail::intersection::report_map(map);
+<a name="l00492"></a>00492 <span class="preprocessor">#endif</span>
+<a name="l00493"></a>00493 <span class="preprocessor"></span>
+<a name="l00494"></a>00494 detail::intersection::assign_next_points(map, intersection_points);
+<a name="l00495"></a>00495
+<a name="l00496"></a>00496 detail::intersection::assign_order(map, intersection_points);
+<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_ENRICH_INTERSECTION_POINTS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/envelope_polygon.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/equals_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/equals_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/equals.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 &nbsp;</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&lt;typename Geometry1 , typename Geometry2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5">ggl::equals</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate if two geometries are equals. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/equals_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/equals_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,184 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/equals.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_ALGORITHMS_EQUALS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_EQUALS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/static_assert.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="disjoint_8hpp.html">ggl/algorithms/disjoint.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="not_8hpp.html">ggl/algorithms/detail/not.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<a name="l00031"></a>00031 <span class="keyword">namespace </span>ggl
+<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 { <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">equals</a> {
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00038"></a>00038 <span class="keyword">struct </span>box_box
+<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>&amp; box1, B2 <span class="keyword">const</span>&amp; 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&lt;min_corner, D&gt;(box1), get&lt;min_corner, D&gt;(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&lt;max_corner, D&gt;(box1), get&lt;max_corner, D&gt;(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 }
+<a name="l00047"></a>00047 <span class="keywordflow">return</span> box_box&lt;B1, B2, D + 1, N&gt;::apply(box1, box2);
+<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> &lt;<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00052"></a>00052 <span class="keyword">struct </span>box_box&lt;B1, B2, N, N&gt;
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B1 <span class="keyword">const</span>&amp; , B2 <span class="keyword">const</span>&amp; )
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 }} <span class="comment">// namespace detail::equals</span>
+<a name="l00061"></a>00061 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span>
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="keyword">template</span>
+<a name="l00069"></a>00069 &lt;
+<a name="l00070"></a>00070 <span class="keyword">typename</span> GeometryTag,
+<a name="l00071"></a>00071 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00072"></a>00072 <span class="keyword">typename</span> G1,
+<a name="l00073"></a>00073 <span class="keyword">typename</span> G2,
+<a name="l00074"></a>00074 std::size_t DimensionCount
+<a name="l00075"></a>00075 &gt;
+<a name="l00076"></a>00076 <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="l00077"></a>00077 {
+<a name="l00078"></a>00078 };
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00081"></a>00081 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">equals</a>&lt;point_tag, false, P1, P2, DimensionCount&gt;
+<a name="l00082"></a>00082 : ggl::detail::not_
+<a name="l00083"></a>00083 &lt;
+<a name="l00084"></a>00084 P1,
+<a name="l00085"></a>00085 P2,
+<a name="l00086"></a>00086 detail::disjoint::point_point&lt;P1, P2, 0, DimensionCount&gt;
+<a name="l00087"></a>00087 &gt;
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 };
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00092"></a>00092 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">equals</a>&lt;box_tag, false, B1, B2, DimensionCount&gt;
+<a name="l00093"></a>00093 : detail::<a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">equals</a>::box_box&lt;B1, B2, 0, DimensionCount&gt;
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 };
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 } <span class="comment">// namespace dispatch</span>
+<a name="l00098"></a>00098 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00099"></a>00099 <span class="preprocessor"></span>
+<a name="l00100"></a>00100
+<a name="l00110"></a>00110 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00111"></a><a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5">00111</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">equals</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1, Geometry2 <span class="keyword">const</span>&amp; geometry2)
+<a name="l00112"></a>00112 {
+<a name="l00113"></a>00113 assert_dimension_equal&lt;Geometry1, Geometry2&gt;();
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="comment">// TODO: assert types equal:</span>
+<a name="l00116"></a>00116 <span class="comment">// typename tag&lt;ncg1_type&gt;::type, typename tag&lt;ncg2_type&gt;::type,</span>
+<a name="l00117"></a>00117 <span class="comment">// (LATER): NO! a linestring can be spatially equal to a multi_linestring</span>
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry1&gt;::type ncg1_type;
+<a name="l00120"></a>00120 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry2&gt;::type ncg2_type;
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="keywordflow">return</span> <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">dispatch::equals</a>
+<a name="l00123"></a>00123 &lt;
+<a name="l00124"></a>00124 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;ncg1_type&gt;::type</a>,
+<a name="l00125"></a>00125 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;ncg1_type&gt;::type::value</a>,
+<a name="l00126"></a>00126 ncg1_type,
+<a name="l00127"></a>00127 ncg2_type,
+<a name="l00128"></a>00128 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;ncg1_type&gt;::type::value</a>
+<a name="l00129"></a>00129 &gt;::apply(geometry1, geometry2);
+<a name="l00130"></a>00130 }
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 } <span class="comment">// namespace ggl</span>
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 <span class="preprocessor">#endif // GGL_ALGORITHMS_EQUALS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ever__circling__iterator_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ever__circling__iterator_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/ever_circling_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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ever__circling__iterator.html">ggl::ever_circling_iterator&lt; Iterator &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator which ever circles through a range. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ever__circling__iterator_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ever__circling__iterator_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/ever_circling_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 <span class="preprocessor">#ifndef GGL_ITERATORS_EVER_CIRCLING_ITERATOR_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ITERATORS_EVER_CIRCLING_ITERATOR_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/iterator.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/iterator/iterator_adaptor.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/iterator/iterator_categories.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="base_8hpp.html">ggl/iterators/base.hpp</a>&gt;</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="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Iterator&gt;
+<a name="l00032"></a><a class="code" href="structggl_1_1ever__circling__iterator.html">00032</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1ever__circling__iterator.html" title="Iterator which ever circles through a range.">ever_circling_iterator</a> :
+<a name="l00033"></a>00033 <span class="keyword">public</span> detail::iterators::iterator_base
+<a name="l00034"></a>00034 &lt;
+<a name="l00035"></a>00035 ever_circling_iterator&lt;Iterator&gt;,
+<a name="l00036"></a>00036 Iterator
+<a name="l00037"></a>00037 &gt;
+<a name="l00038"></a>00038 {
+<a name="l00039"></a><a class="code" href="structggl_1_1ever__circling__iterator.html#c09f73e325921cc50ebcd96bed0f8096">00039</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="structggl_1_1ever__circling__iterator.html#c09f73e325921cc50ebcd96bed0f8096">boost::iterator_core_access</a>;
+<a name="l00040"></a>00040
+<a name="l00041"></a><a class="code" href="structggl_1_1ever__circling__iterator.html#960589b4dc59be2341a536efa1e01294">00041</a> <span class="keyword">explicit</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1ever__circling__iterator.html#960589b4dc59be2341a536efa1e01294">ever_circling_iterator</a>(Iterator begin, Iterator end)
+<a name="l00042"></a>00042 : m_begin(begin)
+<a name="l00043"></a>00043 , m_end(end)
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 this-&gt;base_reference() = begin;
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047
+<a name="l00048"></a><a class="code" href="structggl_1_1ever__circling__iterator.html#a3b3465a611c79f0b33bda06e92ba561">00048</a> <span class="keyword">explicit</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1ever__circling__iterator.html#960589b4dc59be2341a536efa1e01294">ever_circling_iterator</a>(Iterator begin, Iterator end, Iterator start)
+<a name="l00049"></a>00049 : m_begin(begin)
+<a name="l00050"></a>00050 , m_end(end)
+<a name="l00051"></a>00051 {
+<a name="l00052"></a>00052 this-&gt;base_reference() = start;
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054
+<a name="l00057"></a><a class="code" href="structggl_1_1ever__circling__iterator.html#3bf51f4dfcb1dc644c707fc956551ba4">00057</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="structggl_1_1ever__circling__iterator.html#3bf51f4dfcb1dc644c707fc956551ba4">moveto</a>(Iterator it)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 this-&gt;base_reference() = it;
+<a name="l00060"></a>00060 check_end();
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keyword">private</span>:
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">inline</span> <span class="keywordtype">void</span> increment()
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 (this-&gt;base_reference())++;
+<a name="l00068"></a>00068 check_end();
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keyword">inline</span> <span class="keywordtype">void</span> check_end()
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keywordflow">if</span> (this-&gt;base() == this-&gt;m_end)
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 this-&gt;base_reference() = this-&gt;m_begin;
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 Iterator m_begin;
+<a name="l00080"></a>00080 Iterator m_end;
+<a name="l00081"></a>00081 };
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 } <span class="comment">// namespace ggl</span>
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="preprocessor">#endif // GGL_ITERATORS_EVER_CIRCLING_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/examples.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/examples.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li class="current">Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Examples</h1>Here is a list of all examples:<ul>
+<li><a class="el" href="01__point__example_8cpp-example.html">01_point_example.cpp</a>
+<li><a class="el" href="02__linestring__example_8cpp-example.html">02_linestring_example.cpp</a>
+<li><a class="el" href="03__polygon__example_8cpp-example.html">03_polygon_example.cpp</a>
+<li><a class="el" href="06__transformation__example_8cpp-example.html">06_transformation_example.cpp</a>
+<li><a class="el" href="07__graph__route__example_8cpp-example.html">07_graph_route_example.cpp</a>
+<li><a class="el" href="c01__custom__point__example_8cpp-example.html">c01_custom_point_example.cpp</a>
+<li><a class="el" href="c02__custom__box__example_8cpp-example.html">c02_custom_box_example.cpp</a>
+<li><a class="el" href="c04__a__custom__triangle__example_8cpp-example.html">c04_a_custom_triangle_example.cpp</a>
+<li><a class="el" href="c04__b__custom__triangle__example_8cpp-example.html">c04_b_custom_triangle_example.cpp</a>
+<li><a class="el" href="c05__custom__point__pointer__example_8cpp-example.html">c05_custom_point_pointer_example.cpp</a>
+<li><a class="el" href="x01__qt__example_8cpp-example.html">x01_qt_example.cpp</a>
+<li><a class="el" href="x03__a__soci__example_8cpp-example.html">x03_a_soci_example.cpp</a>
+<li><a class="el" href="x03__b__soci__example_8cpp-example.html">x03_b_soci_example.cpp</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exception_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exception_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/exception.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1exception.html">ggl::exception</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base <a class="el" href="structggl_1_1exception.html" title="Base exception class for GGL.">exception</a> class for GGL. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exception_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exception_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/exception.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_CORE_EXCEPTION_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_EXCEPTION_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;exception&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="keyword">namespace </span>ggl {
+<a name="l00015"></a>00015
+<a name="l00020"></a><a class="code" href="structggl_1_1exception.html">00020</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1exception.html" title="Base exception class for GGL.">exception</a> : <span class="keyword">public</span> std::<a class="code" href="structggl_1_1exception.html" title="Base exception class for GGL.">exception</a>
+<a name="l00021"></a>00021 {
+<a name="l00022"></a>00022 };
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 } <span class="comment">// namespace ggl</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="preprocessor">#endif // GGL_CORE_EXCEPTION_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/exterior_ring.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1exterior__ring.html">ggl::traits::exterior_ring&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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_1exterior__ring.html" title="Traits class defining access to exterior_ring of a polygon.">exterior_ring</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>. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const ring_type&lt; P &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gf12f8fe7a53c5fc0fb45c2d24d0999c9">ggl::exterior_ring</a> (const P &amp;polygon)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the exterior ring 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> (const version). <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">ring_type&lt; P &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01">ggl::exterior_ring</a> (P &amp;polygon)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the exterior_ring ring 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>. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,138 @@
+<!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">
+&nbsp;&nbsp;
+</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/exterior_ring.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_CORE_EXTERIOR_RING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_EXTERIOR_RING_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 &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</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 <span class="keyword">namespace </span>traits {
+<a name="l00025"></a>00025
+<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00038"></a><a class="code" href="structggl_1_1traits_1_1exterior__ring.html">00038</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1exterior__ring.html" title="Traits class defining access to exterior_ring of a polygon.">exterior_ring</a> {};
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 } <span class="comment">// namespace traits</span>
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> G&gt;
+<a name="l00048"></a>00048 <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> {};
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00051"></a>00051 <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>&lt;polygon_tag, P&gt;
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> ring_type&lt;polygon_tag, P&gt;::type&amp; <span class="keyword">get</span>(P&amp; polygon)
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::exterior_ring&lt;P&gt;::get</a>(polygon);
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keyword">typename</span> ring_type&lt;polygon_tag, P&gt;::type&amp; <span class="keyword">get</span>(<span class="keyword">const</span> P&amp; polygon)
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::exterior_ring&lt;P&gt;::get</a>(polygon);
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00065"></a>00065 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00066"></a>00066 <span class="preprocessor"></span>
+<a name="l00067"></a>00067
+<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00077"></a><a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01">00077</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type&lt;P&gt;::type</a>&amp; <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(P&amp; <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>)
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keywordflow">return</span> core_dispatch::exterior_ring&lt;typename tag&lt;P&gt;::type, P&gt;<a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(polygon);
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081
+<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00091"></a><a class="code" href="group__access.html#gf12f8fe7a53c5fc0fb45c2d24d0999c9">00091</a> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type&lt;P&gt;::type</a>&amp; <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(<span class="keyword">const</span> P&amp; <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>)
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="keywordflow">return</span> core_dispatch::exterior_ring&lt;typename tag&lt;P&gt;::type, P&gt;<a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(polygon);
+<a name="l00094"></a>00094 }
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 } <span class="comment">// namespace ggl</span>
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="preprocessor">#endif // GGL_CORE_EXTERIOR_RING_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/files.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/files.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,237 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="append_8hpp.html">append.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2area_8hpp.html">area.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="assign_8hpp.html">assign.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="buffer_8hpp.html">buffer.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2centroid_8hpp.html">centroid.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="clear_8hpp.html">clear.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="combine_8hpp.html">combine.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="convert_8hpp.html">convert.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2convex__hull_8hpp.html">convex_hull.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2correct_8hpp.html">correct.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="disjoint_8hpp.html">disjoint.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2distance_8hpp.html">distance.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2envelope_8hpp.html">envelope.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="equals_8hpp.html">equals.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="for__each_8hpp.html">for_each.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2get__section_8hpp.html">get_section.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="intermediate_8hpp.html">intermediate.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2intersection_8hpp.html">intersection.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="intersection__linestring_8hpp.html">intersection_linestring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="intersects_8hpp.html">intersects.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2length_8hpp.html">length.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="make_8hpp.html">make.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2num__points_8hpp.html">num_points.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="overlaps_8hpp.html">overlaps.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2perimeter_8hpp.html">perimeter.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2sectionalize_8hpp.html">sectionalize.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="selected_8hpp.html">selected.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2simplify_8hpp.html">simplify.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2transform_8hpp.html">transform.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2within_8hpp.html">within.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/detail/<a class="el" href="calculate__null_8hpp.html">calculate_null.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/detail/<a class="el" href="not_8hpp.html">not.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/overlay/<a class="el" href="adapt__turns_8hpp.html">adapt_turns.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/overlay/<a class="el" href="copy__segments_8hpp.html">copy_segments.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/overlay/<a class="el" href="enrich__intersection__points_8hpp.html">enrich_intersection_points.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/overlay/<a class="el" href="get__intersection__points_8hpp.html">get_intersection_points.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/overlay/<a class="el" href="intersection__point_8hpp.html">intersection_point.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/overlay/<a class="el" href="merge__intersection__points_8hpp.html">merge_intersection_points.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/overlay/<a class="el" href="segment__identifier_8hpp.html">segment_identifier.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/overlay/<a class="el" href="self__intersection__points_8hpp.html">self_intersection_points.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/overlay/<a class="el" href="traverse_8hpp.html">traverse.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/arithmetic/<a class="el" href="arithmetic_8hpp.html">arithmetic.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/arithmetic/<a class="el" href="dot__product_8hpp.html">dot_product.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="access_8hpp.html">access.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="coordinate__dimension_8hpp.html">coordinate_dimension.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="coordinate__system_8hpp.html">coordinate_system.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="coordinate__type_8hpp.html">coordinate_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="cs_8hpp.html">cs.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="exception_8hpp.html">exception.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="exterior__ring_8hpp.html">exterior_ring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="core_2geometry__id_8hpp.html">geometry_id.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <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="core_2point__type_8hpp.html">point_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="radian__access_8hpp.html">radian_access.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="radius_8hpp.html">radius.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="replace__point__type_8hpp.html">replace_point_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="reverse__dispatch_8hpp.html">reverse_dispatch.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="core_2ring__type_8hpp.html">ring_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="tag_8hpp.html">tag.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="core_2tags_8hpp.html">tags.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/<a class="el" href="core_2topological__dimension_8hpp.html">topological_dimension.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="box__concept_8hpp.html">box_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="linestring__concept_8hpp.html">linestring_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="nsphere__concept_8hpp.html">nsphere_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="point__concept_8hpp.html">point_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="polygon__concept_8hpp.html">polygon_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="ring__concept_8hpp.html">ring_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="segment__concept_8hpp.html">segment_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/extensions/io/svg/<a class="el" href="write__svg_8hpp.html">write_svg.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/extensions/io/svg/<a class="el" href="write__svg__multi_8hpp.html">write_svg_multi.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/<a class="el" href="box_8hpp.html">box.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/<a class="el" href="cartesian2d_8hpp.html">cartesian2d.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/<a class="el" href="cartesian3d_8hpp.html">cartesian3d.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/<a class="el" href="geometries_8hpp.html">geometries.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/<a class="el" href="linear__ring_8hpp.html">linear_ring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/<a class="el" href="linestring_8hpp.html">linestring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/<a class="el" href="nsphere_8hpp.html">nsphere.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/<a class="el" href="point_8hpp.html">point.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/<a class="el" href="point__xy_8hpp.html">point_xy.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/<a class="el" href="polygon_8hpp.html">polygon.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/<a class="el" href="segment_8hpp.html">segment.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/adapted/<a class="el" href="boost__array__as__linestring_8hpp.html">boost_array_as_linestring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/adapted/<a class="el" href="boost__array__as__ring_8hpp.html">boost_array_as_ring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/adapted/<a class="el" href="c__array_8hpp.html">c_array.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/adapted/<a class="el" href="c__array__cartesian_8hpp.html">c_array_cartesian.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/adapted/<a class="el" href="std__as__linestring_8hpp.html">std_as_linestring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/adapted/<a class="el" href="std__as__ring_8hpp.html">std_as_ring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/adapted/<a class="el" href="tuple_8hpp.html">tuple.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/adapted/<a class="el" href="tuple__cartesian_8hpp.html">tuple_cartesian.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/register/<a class="el" href="register_2box_8hpp.html">box.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/register/<a class="el" href="register_2linestring_8hpp.html">linestring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/register/<a class="el" href="register_2point_8hpp.html">point.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/register/<a class="el" href="ring_8hpp.html">ring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <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/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>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2correct_8hpp.html">correct.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2distance_8hpp.html">distance.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2envelope_8hpp.html">envelope.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="foreach_8hpp.html">foreach.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2get__section_8hpp.html">get_section.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2intersection_8hpp.html">intersection.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2length_8hpp.html">length.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2num__points_8hpp.html">num_points.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2perimeter_8hpp.html">perimeter.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2sectionalize_8hpp.html">sectionalize.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2simplify_8hpp.html">simplify.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2transform_8hpp.html">transform.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2within_8hpp.html">within.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/detail/<a class="el" href="modify__with__predicate_8hpp.html">modify_with_predicate.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/detail/<a class="el" href="multi__sum_8hpp.html">multi_sum.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/core/<a class="el" href="multi_2core_2geometry__id_8hpp.html">geometry_id.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/core/<a class="el" href="multi_2core_2is__multi_8hpp.html">is_multi.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/core/<a class="el" href="multi_2core_2point__type_8hpp.html">point_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/core/<a class="el" href="multi_2core_2ring__type_8hpp.html">ring_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/core/<a class="el" href="multi_2core_2tags_8hpp.html">tags.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/core/<a class="el" href="multi_2core_2topological__dimension_8hpp.html">topological_dimension.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <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/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>
+ <tr><td class="indexkey">ggl/policies/relate/<a class="el" href="tupled_8hpp.html">tupled.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/<a class="el" href="distance__result_8hpp.html">distance_result.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/<a class="el" href="intersection__result_8hpp.html">intersection_result.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/<a class="el" href="strategies_8hpp.html">strategies.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/<a class="el" href="strategy__traits_8hpp.html">strategy_traits.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/<a class="el" href="strategy__transform_8hpp.html">strategy_transform.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/agnostic/<a class="el" href="agn__convex__hull_8hpp.html">agn_convex_hull.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/agnostic/<a class="el" href="agn__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/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>
+ <tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="cart__distance_8hpp.html">cart_distance.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="cart__envelope_8hpp.html">cart_envelope.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="cart__side_8hpp.html">cart_side.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="cart__within_8hpp.html">cart_within.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/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>
+ <tr><td class="indexkey">ggl/strategies/transform/<a class="el" href="inverse__transformer_8hpp.html">inverse_transformer.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/transform/<a class="el" href="map__transformer_8hpp.html">map_transformer.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <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>
+ <tr><td class="indexkey">ggl/util/<a class="el" href="less_8hpp.html">less.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/util/<a class="el" href="loop_8hpp.html">loop.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/util/<a class="el" href="math_8hpp.html">math.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/util/<a class="el" href="select__coordinate__type_8hpp.html">select_coordinate_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/util/<a class="el" href="select__most__precise_8hpp.html">select_most_precise.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/util/<a class="el" href="write__dsv_8hpp.html">write_dsv.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="doxygen__design__cross__section_8hpp.html">doxygen_design_cross_section.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="doxygen__examples_8hpp.html">doxygen_examples.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="doxygen__mainpage_8hpp.html">doxygen_mainpage.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="doxygen__pages_8hpp.html">doxygen_pages.hpp</a> [code]</td><td class="indexvalue"></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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,92 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/for_each.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 &nbsp;</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&lt;typename G , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#gbce8332305fc715d4587e7d78c21e4aa">ggl::for_each_point</a> (G &amp;geometry, F f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a">ggl::for_each_point</a> (G const &amp;geometry, F f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#gf3b5b3004fc802700882f9f4a184564a">ggl::for_each_segment</a> (G &amp;geometry, F f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for segments on linestrings, rings, polygons, ... <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3">ggl::for_each_segment</a> (const G &amp;geometry, F f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for segments on linestrings, rings, polygons, ... <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,296 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/for_each.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_ALGORITHMS_FOR_EACH_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_FOR_EACH_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;algorithm&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">namespace </span>ggl
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>for_each {
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> F&gt;
+<a name="l00039"></a>00039 <span class="keyword">struct </span>fe_point
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keyword">static</span> <span class="keyword">inline</span> F for_each_const_point(P <span class="keyword">const</span>&amp; p, F f)
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 f(p);
+<a name="l00044"></a>00044 <span class="keywordflow">return</span> (f);
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">static</span> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(P&amp; p, F f)
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 f(p);
+<a name="l00050"></a>00050 <span class="keywordflow">return</span> (f);
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052 };
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> F&gt;
+<a name="l00055"></a>00055 <span class="keyword">struct </span>fe_range
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keyword">inline</span> F for_each_const_point(R <span class="keyword">const</span>&amp; range, F f)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keywordflow">return</span> (std::for_each(boost::begin(range), boost::end(range), f));
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">static</span> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(R&amp; range, F f)
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="keywordflow">return</span> (std::for_each(boost::begin(range), boost::end(range), f));
+<a name="l00065"></a>00065 }
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keyword">inline</span> F for_each_const_segment(R <span class="keyword">const</span>&amp; range, F f)
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;R&gt;::type iterator_type;
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 iterator_type it = boost::begin(range);
+<a name="l00072"></a>00072 iterator_type previous = it++;
+<a name="l00073"></a>00073 <span class="keywordflow">while</span>(it != boost::end(range))
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 segment&lt;typename point_type&lt;R&gt;::type&gt; s(*previous, *it);
+<a name="l00076"></a>00076 f(s);
+<a name="l00077"></a>00077 previous = it++;
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="keywordflow">return</span> (f);
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">static</span> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(R&amp; range, F f)
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;R&gt;::type iterator_type;
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 iterator_type it = boost::begin(range);
+<a name="l00088"></a>00088 iterator_type previous = it++;
+<a name="l00089"></a>00089 <span class="keywordflow">while</span>(it != boost::end(range))
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 segment&lt;typename point_type&lt;R&gt;::type&gt; s(*previous, *it);
+<a name="l00092"></a>00092 f(s);
+<a name="l00093"></a>00093 previous = it++;
+<a name="l00094"></a>00094 }
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="keywordflow">return</span> (f);
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 };
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> F&gt;
+<a name="l00101"></a>00101 <span class="keyword">struct </span>fe_polygon
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="keyword">static</span> <span class="keyword">inline</span> F for_each_const_point(P <span class="keyword">const</span>&amp; poly, F f)
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P&gt;::type ring_type;
+<a name="l00106"></a>00106 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00107"></a>00107 &lt;
+<a name="l00108"></a>00108 <span class="keyword">typename</span> interior_type&lt;P&gt;::type
+<a name="l00109"></a>00109 &gt;::type iterator_type;
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 f = fe_range&lt;ring_type, F&gt;::for_each_const_point(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <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="l00114"></a>00114 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="l00115"></a>00115 {
+<a name="l00116"></a>00116 f = fe_range&lt;ring_type, F&gt;::for_each_const_point(*it, f);
+<a name="l00117"></a>00117 }
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keywordflow">return</span> (f);
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="keyword">static</span> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(P&amp; poly, F f)
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P&gt;::type ring_type;
+<a name="l00125"></a>00125 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
+<a name="l00126"></a>00126 &lt;
+<a name="l00127"></a>00127 <span class="keyword">typename</span> interior_type&lt;P&gt;::type
+<a name="l00128"></a>00128 &gt;::type iterator_type;
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 f = <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">fe_range&lt;ring_type, F&gt;::for_each_point</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <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="l00133"></a>00133 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="l00134"></a>00134 {
+<a name="l00135"></a>00135 f = <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">fe_range&lt;ring_type, F&gt;::for_each_point</a>(*it, f);
+<a name="l00136"></a>00136 }
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 <span class="keywordflow">return</span> (f);
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 <span class="keyword">static</span> <span class="keyword">inline</span> F for_each_const_segment(P <span class="keyword">const</span>&amp; poly, F f)
+<a name="l00142"></a>00142 {
+<a name="l00143"></a>00143 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P&gt;::type ring_type;
+<a name="l00144"></a>00144 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00145"></a>00145 &lt;
+<a name="l00146"></a>00146 <span class="keyword">typename</span> interior_type&lt;P&gt;::type
+<a name="l00147"></a>00147 &gt;::type iterator_type;
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 f = fe_range&lt;ring_type, F&gt;::for_each_const_segment(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <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="l00152"></a>00152 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="l00153"></a>00153 {
+<a name="l00154"></a>00154 f = fe_range&lt;ring_type, F&gt;::for_each_const_segment(*it, f);
+<a name="l00155"></a>00155 }
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 <span class="keywordflow">return</span> (f);
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 <span class="keyword">static</span> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(P&amp; poly, F f)
+<a name="l00161"></a>00161 {
+<a name="l00162"></a>00162 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P&gt;::type ring_type;
+<a name="l00163"></a>00163 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
+<a name="l00164"></a>00164 &lt;
+<a name="l00165"></a>00165 <span class="keyword">typename</span> interior_type&lt;P&gt;::type
+<a name="l00166"></a>00166 &gt;::type iterator_type;
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 f = <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">fe_range&lt;ring_type, F&gt;::for_each_segment</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170 <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="l00171"></a>00171 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="l00172"></a>00172 {
+<a name="l00173"></a>00173 f = <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">fe_range&lt;ring_type, F&gt;::for_each_segment</a>(*it, f);
+<a name="l00174"></a>00174 }
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 <span class="keywordflow">return</span> (f);
+<a name="l00177"></a>00177 }
+<a name="l00178"></a>00178 };
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180 }} <span class="comment">// namespace detail::for_each</span>
+<a name="l00181"></a>00181 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00182"></a>00182 <span class="preprocessor"></span>
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00185"></a>00185 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00186"></a>00186 {
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> G, <span class="keyword">typename</span> F&gt;
+<a name="l00189"></a>00189 <span class="keyword">struct </span>for_each {};
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> F&gt;
+<a name="l00192"></a>00192 <span class="keyword">struct </span>for_each&lt;point_tag, P, F&gt; : detail::for_each::fe_point&lt;P, F&gt; {};
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> L, <span class="keyword">typename</span> F&gt;
+<a name="l00195"></a>00195 <span class="keyword">struct </span>for_each&lt;linestring_tag, L, F&gt; : detail::for_each::fe_range&lt;L, F&gt; {};
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> F&gt;
+<a name="l00198"></a>00198 <span class="keyword">struct </span>for_each&lt;ring_tag, R, F&gt; : detail::for_each::fe_range&lt;R, F&gt; {};
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> F&gt;
+<a name="l00201"></a>00201 <span class="keyword">struct </span>for_each&lt;polygon_tag, P, F&gt; : detail::for_each::fe_polygon&lt;P, F&gt; {};
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203 } <span class="comment">// namespace dispatch</span>
+<a name="l00204"></a>00204 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00205"></a>00205 <span class="preprocessor"></span>
+<a name="l00213"></a>00213 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> F&gt;
+<a name="l00214"></a><a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a">00214</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(G <span class="keyword">const</span>&amp; geometry, F f)
+<a name="l00215"></a>00215 {
+<a name="l00216"></a>00216 <span class="keyword">typedef</span> <span class="keyword">typename</span> dispatch::for_each
+<a name="l00217"></a>00217 &lt;
+<a name="l00218"></a>00218 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00219"></a>00219 G,
+<a name="l00220"></a>00220 F
+<a name="l00221"></a>00221 &gt;::for_each_const_point for_each_type;
+<a name="l00222"></a>00222
+<a name="l00223"></a>00223 <span class="keywordflow">return</span> for_each_type(geometry, f);
+<a name="l00224"></a>00224 }
+<a name="l00225"></a>00225
+<a name="l00233"></a>00233 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> F&gt;
+<a name="l00234"></a><a class="code" href="group__loop.html#gbce8332305fc715d4587e7d78c21e4aa">00234</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(G&amp; geometry, F f)
+<a name="l00235"></a>00235 {
+<a name="l00236"></a>00236 <span class="keywordflow">return</span> (dispatch::for_each&lt;<span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, G, F&gt;::<a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(geometry, f));
+<a name="l00237"></a>00237 }
+<a name="l00238"></a>00238
+<a name="l00246"></a>00246 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> F&gt;
+<a name="l00247"></a><a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3">00247</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(<span class="keyword">const</span> G&amp; geometry, F f)
+<a name="l00248"></a>00248 {
+<a name="l00249"></a>00249 <span class="keywordflow">return</span> (dispatch::for_each&lt;<span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, G, F&gt;::for_each_const_segment(geometry, f));
+<a name="l00250"></a>00250 }
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252
+<a name="l00260"></a>00260 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> F&gt;
+<a name="l00261"></a><a class="code" href="group__loop.html#gf3b5b3004fc802700882f9f4a184564a">00261</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(G&amp; geometry, F f)
+<a name="l00262"></a>00262 {
+<a name="l00263"></a>00263 <span class="keywordflow">return</span> (dispatch::for_each&lt;<span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, G, F&gt;::<a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(geometry, f));
+<a name="l00264"></a>00264 }
+<a name="l00265"></a>00265
+<a name="l00266"></a>00266 } <span class="comment">// namespace ggl</span>
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268 <span class="preprocessor">#endif // GGL_ALGORITHMS_FOR_EACH_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/for_each_coordinate.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 &nbsp;</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&lt;typename Point , typename Op &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#578a218a60843891321b599d222090db">ggl::for_each_coordinate</a> (Point &amp;point, Op operation)</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,129 @@
+<!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">
+&nbsp;&nbsp;
+</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/for_each_coordinate.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_FOR_EACH_COORDINATE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_FOR_EACH_COORDINATE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="keyword">namespace </span>ggl
+<a name="l00016"></a>00016 {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00020"></a>00020 {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keywordtype">int</span> Dimension, <span class="keywordtype">int</span> DimensionCount&gt;
+<a name="l00023"></a>00023 <span class="keyword">struct </span>coordinates_scanner
+<a name="l00024"></a>00024 {
+<a name="l00025"></a>00025 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Op&gt;
+<a name="l00026"></a>00026 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point&amp; point, Op operation)
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028 operation.template apply&lt;Point, Dimension&gt;(point);
+<a name="l00029"></a>00029 coordinates_scanner
+<a name="l00030"></a>00030 &lt;
+<a name="l00031"></a>00031 Point,
+<a name="l00032"></a>00032 Dimension+1,
+<a name="l00033"></a>00033 DimensionCount
+<a name="l00034"></a>00034 &gt;::apply(point, operation);
+<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> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keywordtype">int</span> DimensionCount&gt;
+<a name="l00039"></a>00039 <span class="keyword">struct </span>coordinates_scanner&lt;Point, DimensionCount, DimensionCount&gt;
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Op&gt;
+<a name="l00042"></a>00042 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point&amp;, Op)
+<a name="l00043"></a>00043 {}
+<a name="l00044"></a>00044 };
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 } <span class="comment">// namespace detail</span>
+<a name="l00047"></a>00047 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00048"></a>00048 <span class="preprocessor"></span>
+<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Op&gt;
+<a name="l00050"></a><a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">00050</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(Point&amp; <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, Op operation)
+<a name="l00051"></a>00051 {
+<a name="l00052"></a>00052 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;Point&gt;</a>) );
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keyword">typedef</span> <span class="keyword">typename</span> detail::coordinates_scanner
+<a name="l00055"></a>00055 &lt;
+<a name="l00056"></a>00056 Point, 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&lt;Point&gt;::type::value</a>
+<a name="l00057"></a>00057 &gt; scanner;
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 scanner::apply(point, operation);
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 } <span class="comment">// namespace ggl</span>
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="preprocessor">#endif // GGL_UTIL_FOR_EACH_COORDINATE_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/foreach_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/foreach_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,136 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/foreach.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 &nbsp;</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&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#3b3b5c7184cabf25d464055befdf771f">ggl::for_each_point</a> (const multi_polygon&lt; Y, V, A &gt; &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9d56089829983b18a5647668a81f625d">ggl::for_each_point</a> (const multi_linestring&lt; L, V, A &gt; &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e8a2e92fd956aa3df683a612f14ba677">ggl::for_each_point</a> (const multi_point&lt; P, V, A &gt; &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#500ee15ef99a75697def76e4438f24f7">ggl::for_each_point</a> (multi_polygon&lt; Y, V, A &gt; &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#2b3c62431652f833fa2d549c6b7e3c3c">ggl::for_each_point</a> (multi_linestring&lt; L, V, A &gt; &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#cbb57ed0b758231c53971362af3a0761">ggl::for_each_point</a> (multi_point&lt; P, V, A &gt; &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#77d4fc4a0165db7675e78b290f93a638">ggl::for_each_point_multi_linestring</a> (const ML &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#25386b22f7cdbb3f4cb1f39b5a454e79">ggl::for_each_point_multi_linestring</a> (ML &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MP , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e90a5c12e70988e6ab8886a407ded929">ggl::for_each_point_multi_point</a> (const MP &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MP , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#583292e2af8b5e8c473c66032028924f">ggl::for_each_point_multi_point</a> (MP &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#5d6800969a6bf28a35785e3c9eb5b0ea">ggl::for_each_point_multi_polygon</a> (const MY &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0da7e7dff53b5f6382a1bb83efc5b4a8">ggl::for_each_point_multi_polygon</a> (MY &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#326e05f4a599d0a732b4ee83ec9ea0cc">ggl::for_each_segment</a> (const multi_polygon&lt; Y, V, A &gt; &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9b9e2763881a4191b54d44ba48b483e2">ggl::for_each_segment</a> (const multi_linestring&lt; L, V, A &gt; &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#4f2108bb3eff47320d5c2e6c545b7df9">ggl::for_each_segment</a> (multi_polygon&lt; Y, V, A &gt; &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#aab7ca3216793f5eb31dfc7b00294491">ggl::for_each_segment</a> (multi_linestring&lt; L, V, A &gt; &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#6dd128fb1487f8b269d888721a10f23b">ggl::for_each_segment_multi_linestring</a> (const ML &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#2ff9b5d4ab8ade0181c804bee391b26c">ggl::for_each_segment_multi_linestring</a> (ML &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c16f604abd7cd129b20fa49255a1838e">ggl::for_each_segment_multi_polygon</a> (const MY &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c07b4972809b53d2720a357b57aa840b">ggl::for_each_segment_multi_polygon</a> (MY &amp;mp, F f)</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/foreach_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/foreach_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,287 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/foreach.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_MULTI_FOREACH_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_FOREACH_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="for__each_8hpp.html">ggl/algorithms/for_each.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 FIX ME it is not yet adapted to tag-dispatching
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
+<a name="l00020"></a>00020 {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> MP, <span class="keyword">typename</span> F&gt;
+<a name="l00023"></a><a class="code" href="namespaceggl.html#583292e2af8b5e8c473c66032028924f">00023</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#583292e2af8b5e8c473c66032028924f">for_each_point_multi_point</a>(MP&amp; mp, F f)
+<a name="l00024"></a>00024 {
+<a name="l00025"></a>00025 <span class="keywordflow">return</span> (for_each_point_container(mp, f));
+<a name="l00026"></a>00026 }
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ML, <span class="keyword">typename</span> F&gt;
+<a name="l00029"></a><a class="code" href="namespaceggl.html#25386b22f7cdbb3f4cb1f39b5a454e79">00029</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#25386b22f7cdbb3f4cb1f39b5a454e79">for_each_point_multi_linestring</a>(ML&amp; ml, F f)
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <span class="keywordflow">for</span> (<span class="keyword">typename</span> ML::iterator it = ml.begin(); it != ml.end(); it++)
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 f = for_each_point_linestring(*it, f);
+<a name="l00034"></a>00034 }
+<a name="l00035"></a>00035 <span class="keywordflow">return</span> (f);
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> MY, <span class="keyword">typename</span> F&gt;
+<a name="l00039"></a><a class="code" href="namespaceggl.html#0da7e7dff53b5f6382a1bb83efc5b4a8">00039</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#0da7e7dff53b5f6382a1bb83efc5b4a8">for_each_point_multi_polygon</a>(MY&amp; mp, F f)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keywordflow">for</span> (<span class="keyword">typename</span> MY::iterator it = mp.begin(); it != mp.end(); it++)
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 f = for_each_point_polygon(*it, f);
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 <span class="keywordflow">return</span> (f);
+<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="keyword">template</span>&lt;<span class="keyword">typename</span> MP, <span class="keyword">typename</span> F&gt;
+<a name="l00052"></a><a class="code" href="namespaceggl.html#e90a5c12e70988e6ab8886a407ded929">00052</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#583292e2af8b5e8c473c66032028924f">for_each_point_multi_point</a>(<span class="keyword">const</span> MP&amp; mp, F f)
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054 <span class="keywordflow">return</span> (for_each_point_container(mp, f));
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ML, <span class="keyword">typename</span> F&gt;
+<a name="l00059"></a><a class="code" href="namespaceggl.html#77d4fc4a0165db7675e78b290f93a638">00059</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#25386b22f7cdbb3f4cb1f39b5a454e79">for_each_point_multi_linestring</a>(<span class="keyword">const</span> ML&amp; ml, F f)
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keywordflow">for</span> (<span class="keyword">typename</span> ML::const_iterator it = ml.begin(); it != ml.end(); it++)
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 f = for_each_point_linestring(*it, f);
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065 <span class="keywordflow">return</span> (f);
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> MY, <span class="keyword">typename</span> F&gt;
+<a name="l00069"></a><a class="code" href="namespaceggl.html#5d6800969a6bf28a35785e3c9eb5b0ea">00069</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#0da7e7dff53b5f6382a1bb83efc5b4a8">for_each_point_multi_polygon</a>(<span class="keyword">const</span> MY&amp; mp, F f)
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keywordflow">for</span> (<span class="keyword">typename</span> MY::const_iterator it = mp.begin(); it != mp.end(); it++)
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 f = for_each_point_polygon(*it, f);
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075 <span class="keywordflow">return</span> (f);
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ML, <span class="keyword">typename</span> F&gt;
+<a name="l00081"></a><a class="code" href="namespaceggl.html#2ff9b5d4ab8ade0181c804bee391b26c">00081</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#2ff9b5d4ab8ade0181c804bee391b26c">for_each_segment_multi_linestring</a>(ML&amp; ml, F f)
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="keywordflow">for</span> (<span class="keyword">typename</span> ML::iterator it = ml.begin(); it != ml.end(); it++)
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 f = for_each_segment_linestring(*it, f);
+<a name="l00086"></a>00086 }
+<a name="l00087"></a>00087 <span class="keywordflow">return</span> (f);
+<a name="l00088"></a>00088 }
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> MY, <span class="keyword">typename</span> F&gt;
+<a name="l00091"></a><a class="code" href="namespaceggl.html#c07b4972809b53d2720a357b57aa840b">00091</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#c07b4972809b53d2720a357b57aa840b">for_each_segment_multi_polygon</a>(MY&amp; mp, F f)
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="keywordflow">for</span> (<span class="keyword">typename</span> MY::iterator it = mp.begin(); it != mp.end(); it++)
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 f = for_each_segment_polygon(*it, f);
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097 <span class="keywordflow">return</span> (f);
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ML, <span class="keyword">typename</span> F&gt;
+<a name="l00106"></a><a class="code" href="namespaceggl.html#6dd128fb1487f8b269d888721a10f23b">00106</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#2ff9b5d4ab8ade0181c804bee391b26c">for_each_segment_multi_linestring</a>(<span class="keyword">const</span> ML&amp; ml, F f)
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="keywordflow">for</span> (<span class="keyword">typename</span> ML::const_iterator it = ml.begin(); it != ml.end(); it++)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 f = for_each_segment_linestring(*it, f);
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112 <span class="keywordflow">return</span> (f);
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> MY, <span class="keyword">typename</span> F&gt;
+<a name="l00116"></a><a class="code" href="namespaceggl.html#c16f604abd7cd129b20fa49255a1838e">00116</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#c07b4972809b53d2720a357b57aa840b">for_each_segment_multi_polygon</a>(<span class="keyword">const</span> MY&amp; mp, F f)
+<a name="l00117"></a>00117 {
+<a name="l00118"></a>00118 <span class="keywordflow">for</span> (<span class="keyword">typename</span> MY::const_iterator it = mp.begin(); it != mp.end(); it++)
+<a name="l00119"></a>00119 {
+<a name="l00120"></a>00120 f = for_each_segment_polygon(*it, f);
+<a name="l00121"></a>00121 }
+<a name="l00122"></a>00122 <span class="keywordflow">return</span> (f);
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P,
+<a name="l00131"></a>00131 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A,
+<a name="l00132"></a>00132 <span class="keyword">typename</span> F&gt;
+<a name="l00133"></a><a class="code" href="namespaceggl.html#cbb57ed0b758231c53971362af3a0761">00133</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(<a class="code" href="structggl_1_1multi__point.html">multi_point&lt;P, V, A&gt;</a>&amp; mp, F f)
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135 <span class="keywordflow">return</span> (<a class="code" href="namespaceggl.html#583292e2af8b5e8c473c66032028924f">for_each_point_multi_point</a>(mp, f));
+<a name="l00136"></a>00136 }
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> L,
+<a name="l00139"></a>00139 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A,
+<a name="l00140"></a>00140 <span class="keyword">typename</span> F&gt;
+<a name="l00141"></a><a class="code" href="namespaceggl.html#2b3c62431652f833fa2d549c6b7e3c3c">00141</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(<a class="code" href="structggl_1_1multi__linestring.html">multi_linestring&lt;L, V, A&gt;</a>&amp; ml, F f)
+<a name="l00142"></a>00142 {
+<a name="l00143"></a>00143 <span class="keywordflow">return</span> (<a class="code" href="namespaceggl.html#25386b22f7cdbb3f4cb1f39b5a454e79">for_each_point_multi_linestring</a>(ml, f));
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Y,
+<a name="l00147"></a>00147 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A,
+<a name="l00148"></a>00148 <span class="keyword">typename</span> F&gt;
+<a name="l00149"></a><a class="code" href="namespaceggl.html#500ee15ef99a75697def76e4438f24f7">00149</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(<a class="code" href="structggl_1_1multi__polygon.html">multi_polygon&lt;Y, V, A&gt;</a>&amp; mp, F f)
+<a name="l00150"></a>00150 {
+<a name="l00151"></a>00151 <span class="keywordflow">return</span> (<a class="code" href="namespaceggl.html#0da7e7dff53b5f6382a1bb83efc5b4a8">for_each_point_multi_polygon</a>(mp, f));
+<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
+<a name="l00157"></a>00157 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P,
+<a name="l00158"></a>00158 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A,
+<a name="l00159"></a>00159 <span class="keyword">typename</span> F&gt;
+<a name="l00160"></a><a class="code" href="namespaceggl.html#e8a2e92fd956aa3df683a612f14ba677">00160</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1multi__point.html">multi_point&lt;P, V, A&gt;</a>&amp; mp, F f)
+<a name="l00161"></a>00161 {
+<a name="l00162"></a>00162 <span class="keywordflow">return</span> (<a class="code" href="namespaceggl.html#583292e2af8b5e8c473c66032028924f">for_each_point_multi_point</a>(mp, f));
+<a name="l00163"></a>00163 }
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> L,
+<a name="l00166"></a>00166 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A,
+<a name="l00167"></a>00167 <span class="keyword">typename</span> F&gt;
+<a name="l00168"></a><a class="code" href="namespaceggl.html#9d56089829983b18a5647668a81f625d">00168</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1multi__linestring.html">multi_linestring&lt;L, V, A&gt;</a>&amp; ml, F f)
+<a name="l00169"></a>00169 {
+<a name="l00170"></a>00170 <span class="keywordflow">return</span> (<a class="code" href="namespaceggl.html#25386b22f7cdbb3f4cb1f39b5a454e79">for_each_point_multi_linestring</a>(ml, f));
+<a name="l00171"></a>00171 }
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Y,
+<a name="l00175"></a>00175 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A,
+<a name="l00176"></a>00176 <span class="keyword">typename</span> F&gt;
+<a name="l00177"></a><a class="code" href="namespaceggl.html#3b3b5c7184cabf25d464055befdf771f">00177</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1multi__polygon.html">multi_polygon&lt;Y, V, A&gt;</a>&amp; mp, F f)
+<a name="l00178"></a>00178 {
+<a name="l00179"></a>00179 <span class="keywordflow">return</span> (<a class="code" href="namespaceggl.html#0da7e7dff53b5f6382a1bb83efc5b4a8">for_each_point_multi_polygon</a>(mp, f));
+<a name="l00180"></a>00180 }
+<a name="l00181"></a>00181
+<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>&lt;<span class="keyword">typename</span> L,
+<a name="l00186"></a>00186 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A,
+<a name="l00187"></a>00187 <span class="keyword">typename</span> F&gt;
+<a name="l00188"></a><a class="code" href="namespaceggl.html#aab7ca3216793f5eb31dfc7b00294491">00188</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(<a class="code" href="structggl_1_1multi__linestring.html">multi_linestring&lt;L, V, A&gt;</a>&amp; ml, F f)
+<a name="l00189"></a>00189 {
+<a name="l00190"></a>00190 <span class="keywordflow">return</span> (<a class="code" href="namespaceggl.html#2ff9b5d4ab8ade0181c804bee391b26c">for_each_segment_multi_linestring</a>(ml, f));
+<a name="l00191"></a>00191 }
+<a name="l00192"></a>00192
+<a name="l00193"></a>00193 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Y,
+<a name="l00194"></a>00194 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A,
+<a name="l00195"></a>00195 <span class="keyword">typename</span> F&gt;
+<a name="l00196"></a><a class="code" href="namespaceggl.html#4f2108bb3eff47320d5c2e6c545b7df9">00196</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(<a class="code" href="structggl_1_1multi__polygon.html">multi_polygon&lt;Y, V, A&gt;</a>&amp; mp, F f)
+<a name="l00197"></a>00197 {
+<a name="l00198"></a>00198 <span class="keywordflow">return</span> (<a class="code" href="namespaceggl.html#c07b4972809b53d2720a357b57aa840b">for_each_segment_multi_polygon</a>(mp, f));
+<a name="l00199"></a>00199 }
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203
+<a name="l00204"></a>00204 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> L,
+<a name="l00205"></a>00205 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A,
+<a name="l00206"></a>00206 <span class="keyword">typename</span> F&gt;
+<a name="l00207"></a><a class="code" href="namespaceggl.html#9b9e2763881a4191b54d44ba48b483e2">00207</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1multi__linestring.html">multi_linestring&lt;L, V, A&gt;</a>&amp; ml, F f)
+<a name="l00208"></a>00208 {
+<a name="l00209"></a>00209 <span class="keywordflow">return</span> (<a class="code" href="namespaceggl.html#2ff9b5d4ab8ade0181c804bee391b26c">for_each_segment_multi_linestring</a>(ml, f));
+<a name="l00210"></a>00210 }
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Y,
+<a name="l00213"></a>00213 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A,
+<a name="l00214"></a>00214 <span class="keyword">typename</span> F&gt;
+<a name="l00215"></a><a class="code" href="namespaceggl.html#326e05f4a599d0a732b4ee83ec9ea0cc">00215</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1multi__polygon.html">multi_polygon&lt;Y, V, A&gt;</a>&amp; mp, F f)
+<a name="l00216"></a>00216 {
+<a name="l00217"></a>00217 <span class="keywordflow">return</span> (<a class="code" href="namespaceggl.html#c07b4972809b53d2720a357b57aa840b">for_each_segment_multi_polygon</a>(mp, f));
+<a name="l00218"></a>00218 }
+<a name="l00219"></a>00219 } <span class="comment">// namespace ggl</span>
+<a name="l00220"></a>00220
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="preprocessor">#endif // GGL_MULTI_FOREACH_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+<li>add()
+: <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#8e27188bc1054b3017c059cce6b3c330">ggl::strategy::intersection::liang_barsky&lt; B, P &gt;</a>
+<li>add_range()
+: <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#5fdc022ecff10cfbea0d8d0f0dc4bcad">ggl::strategy::convex_hull::graham&lt; P &gt;</a>
+<li>as_char()
+: <a class="el" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x62.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x62.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<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&lt; Base, Point &gt;</a>
+<li>base_type
+: <a class="el" href="structggl_1_1segment__iterator.html#2670ce6fa8403a2da8b1b79c9a62ef47">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>bb
+: <a class="el" href="structggl_1_1de9im.html#ab65195a5bd2896f17d0e252b2bd40c7">ggl::de9im</a>
+<li>be
+: <a class="el" href="structggl_1_1de9im.html#af418e3af0e74fca9df112e8c674fc30">ggl::de9im</a>
+<li>begin_index
+: <a class="el" href="structggl_1_1section.html#fcde79e0f07f3744382e8ecbb6ceeaa3">ggl::section&lt; Box, DimensionCount &gt;</a>
+<li>bi
+: <a class="el" href="structggl_1_1de9im.html#f77b1dd2036f4f685e34bc73988eae7f">ggl::de9im</a>
+<li>boost::iterator_core_access
+: <a class="el" href="structggl_1_1ever__circling__iterator.html#c09f73e325921cc50ebcd96bed0f8096">ggl::ever_circling_iterator&lt; Iterator &gt;</a>
+, <a class="el" href="structggl_1_1circular__iterator.html#c09f73e325921cc50ebcd96bed0f8096">ggl::circular_iterator&lt; Iterator &gt;</a>
+<li>BOOST_CONCEPT_ASSERT()
+: <a class="el" href="structggl_1_1multi__linestring.html#ad0eb4fd23482608a67e61f460615d17">ggl::multi_linestring&lt; L, V, A &gt;</a>
+, <a class="el" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">ggl::multi_point&lt; P, V, A &gt;</a>
+, <a class="el" href="structggl_1_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">ggl::multi_polygon&lt; P, V, A &gt;</a>
+<li>BOOST_CONCEPT_USAGE()
+: <a class="el" href="structggl_1_1concept_1_1_const_ring.html#1b6553b6ed0d5716bbc0044f7f29cfb2">ggl::concept::ConstRing&lt; R &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_const_nsphere.html#cf6dfbdf9c9bceab4e3b481b95f1fb11">ggl::concept::ConstNsphere&lt; S &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_nsphere.html#f7a6ea630944b84202eed0a9de90cff4">ggl::concept::Nsphere&lt; S &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_point.html#59ab6c36bc854b94ee2404d084605f7b">ggl::concept::Point&lt; X &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_const_point.html#4fa25bd423c491516e0453c2aad75a0a">ggl::concept::ConstPoint&lt; X &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_polygon.html#69581c3daae416341fbe72829f567278">ggl::concept::Polygon&lt; P &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_const_polygon.html#efa7d199dbc8b2e17308e175fe4e33ca">ggl::concept::ConstPolygon&lt; P &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_const_linestring.html#8154a02204ad8183d57420846e7b5449">ggl::concept::ConstLinestring&lt; L &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_ring.html#eb5f0045673fa11f20e4b48856a4bf69">ggl::concept::Ring&lt; R &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_const_box.html#0deab699f7cecb2854ba52635635405f">ggl::concept::ConstBox&lt; B &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_const_segment.html#79691668dde1be67b7a497a6b1cd31ce">ggl::concept::ConstSegment&lt; S &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_box.html#6fa5d3378f1f34978c07d54abf69f753">ggl::concept::Box&lt; B &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_segment.html#d2e340dff544a40ed257a1823dfd4749">ggl::concept::Segment&lt; S &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_linestring.html#93370176c63ec560ead3a1cd8c8c3693">ggl::concept::Linestring&lt; L &gt;</a>
+<li>both_same
+: <a class="el" href="structggl_1_1select__most__precise.html#606ead26747f5bc9bb5ec53248fd61f7">ggl::select_most_precise&lt; T1, T2 &gt;</a>
+<li>bounding_box
+: <a class="el" href="structggl_1_1section.html#dbdec35a5e0878ecc3ac31d28dd12f6f">ggl::section&lt; Box, DimensionCount &gt;</a>
+<li>box()
+: <a class="el" href="classggl_1_1box.html#40a32b03ef937f268b28716cd3a19ff4">ggl::box&lt; P &gt;</a>
+<li>box_type
+: <a class="el" href="structggl_1_1sections.html#9ad75a29e07d632e85847e4f206715ba">ggl::sections&lt; Box, DimensionCount &gt;</a>
+, <a class="el" href="structggl_1_1section.html#da71a242258d79119fb6df06d290095e">ggl::section&lt; Box, DimensionCount &gt;</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&lt; P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x63.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x63.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,186 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>calculation_type
+: <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc86abbd7440ed39ba7e78d40c304e6b">ggl::strategy::distance::pythagoras&lt; P1, P2, CalculationType &gt;</a>
+<li>cartesian_distance()
+: <a class="el" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68">ggl::cartesian_distance&lt; T &gt;</a>
+<li>center()
+: <a class="el" href="classggl_1_1nsphere.html#8fd5bf72f746c27b7ca1514dc08813ac">ggl::nsphere&lt; P, T &gt;</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&lt; Iterator &gt;</a>
+<li>clear()
+: <a class="el" href="classggl_1_1polygon.html#114bcb53b0264af8edaa53d8e42bf45f">ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</a>
+<li>clip_segment()
+: <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#1a0456b13305792c70cd53b8571db1ef">ggl::strategy::intersection::liang_barsky&lt; B, P &gt;</a>
+<li>collinear
+: <a class="el" href="structggl_1_1de9im__segment.html#74f8612ae82c3a2f5ca3d4a45737756a">ggl::de9im_segment</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&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#a00a443f46cd557c282891c59cc683fb">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#c6ae19aac0a85a1344c591ff2d4b0cbb">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#512bec33f0d13ffe8bdcaa7d2c6cd1ec">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+<li>collinear_b_in_a()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#298148121645c574e290081c7cd16995">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#d963f9b96126549f9328bd702e17df0f">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f95f9b1c2e967c260d060c24aabf160f">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#e62d1ab6f50141636f04f5ae514e206b">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+<li>collinear_disjoint()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#7e36a5671574be928045baec27dcfe0d">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#bac75a74d17cdac4e693be8c6a76cd60">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac05de9fec4c0ff68b0c70e28f8be442">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#7e99a479fc3e9b45db7ab065305dccc6">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</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&lt; S1, S2, ReturnType &gt;</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&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#80ce268792c7516aac1c546e8fbd9b24">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#1fe7ee7acea8cc077bd98ca260d19bd9">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#036ae4e5762ae6b9f981e7b9d39f0b2a">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+<li>collinear_overlaps()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#798750f9c6e3ca554cef83e7ecbdb9cd">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#eb0ebf059d5e294fb18156aac93027cb">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#23e3bbadf0217d59dfd71d01ee690ca8">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fc31e769602ef50ec62d22ed157554b4">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+<li>collinear_touch()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c9112222bb21c8bbc164008c9bdbfa24">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#46d3001d71d9684f5806911c68d5bff5">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac5d192f53e833ee39c48dc8954199d9">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#047b8574e173fd4ccb5f32dba6adb904">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+<li>contains()
+: <a class="el" href="structggl_1_1de9im.html#a15591d020883026f28f98f4071b80e5">ggl::de9im</a>
+<li>coordinate_count
+: <a class="el" href="classggl_1_1point.html#b25e04c9eb7bf3dbc6ee17a27423e7d6">ggl::point&lt; T, D, C &gt;</a>
+<li>coordinate_system
+: <a class="el" href="classggl_1_1point.html#e3cedeca07933bd026e910ee8bb4547b">ggl::point&lt; T, D, C &gt;</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&lt; P1, P2, 3, 3 &gt;</a>
+, <a class="el" href="classggl_1_1point.html#114e475fd2f5f30fac7f60ef732dd402">ggl::point&lt; T, D, C &gt;</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&lt; P1, P2, 2, 2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#bcb088829827c05640c84ca1c324361a">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</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&lt; P1, P2, 3, 3 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a1bf8289c8a5b0fc97ee2943476a69a7">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</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&lt; P1, P2, 3, 2 &gt;</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&lt; P1, P2, 2, 2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#e814cd145873164ae0b9c0c094e20687">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#552bc7eddefee9641c7da37c71e2dc54">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="classggl_1_1nsphere.html#a3595c7d5427261600efdc0e37ded8bb">ggl::nsphere&lt; P, T &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</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&lt; P1, P2, 3, 3 &gt;</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&lt; P1, P2, 2, 2 &gt;</a>
+<li>count
+: <a class="el" href="structggl_1_1segment__intersection__points.html#a1ecc423597a6f800f82f1ab092bd346">ggl::segment_intersection_points&lt; P &gt;</a>
+, <a class="el" href="structggl_1_1section.html#c53669933d966cf7c9c19b8376b5b731">ggl::section&lt; Box, DimensionCount &gt;</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&lt; P1, P2, 3, 2 &gt;</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&lt; P1, P2, 3, 3 &gt;</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&lt; P1, P2, 2, 2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x64.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x64.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,137 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<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__intersection__points.html#3cf559644d63441e018d2a590559986e">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#d68c9fa4dbac13be78e0f2d8a099ca6a">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="structggl_1_1de9im__segment.html#b583e13a80450bfde17e1a35615ac236">ggl::de9im_segment</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c38201cbc6a2788b300413a7f90103b2">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6992882507d5abb3a649db55eeaa01eb">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+<li>difference_type
+: <a class="el" href="structggl_1_1segment__iterator.html#e3d45134f345df9ec7aa89f8e2e95bdf">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>dir_a
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bb19847f2c087e788bbe7498d6459c01">ggl::policies::relate::direction_type</a>
+<li>dir_b
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#c41c730c67f5c22191f62d5b0a9eb28b">ggl::policies::relate::direction_type</a>
+<li>direction_type()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#5a1947e3f282bcfb2907fc42375789ef">ggl::policies::relate::direction_type</a>
+<li>directions
+: <a class="el" href="structggl_1_1section.html#685294c3e7107f87fcb7def9e2a6f430">ggl::section&lt; Box, DimensionCount &gt;</a>
+<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&lt; P, Segment, Strategy &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a>
+<li>dsv_manipulator()
+: <a class="el" href="classggl_1_1dsv__manipulator.html#5bbe82845f3e20b44d2b75cc8faebf43">ggl::dsv_manipulator&lt; Geometry &gt;</a>
+<li>duplicate
+: <a class="el" href="structggl_1_1section.html#ef8836af463d9d92f0c2fc6bc4668f54">ggl::section&lt; Box, DimensionCount &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x65.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x65.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>eb
+: <a class="el" href="structggl_1_1de9im.html#b2d84c96bb9d0c9fa3c4e5e0ba9d4a65">ggl::de9im</a>
+<li>ee
+: <a class="el" href="structggl_1_1de9im.html#a3e8fb274304ac4413e7a19375156ad1">ggl::de9im</a>
+<li>ei
+: <a class="el" href="structggl_1_1de9im.html#e594f1211d0b2915f78a1c7ab403aa10">ggl::de9im</a>
+<li>end_index
+: <a class="el" href="structggl_1_1section.html#22897e4894f0d4dcaa80f0ab30376c68">ggl::section&lt; Box, DimensionCount &gt;</a>
+<li>equals()
+: <a class="el" href="structggl_1_1de9im.html#01f365a488218068020af89113cd3745">ggl::de9im</a>
+<li>ever_circling_iterator()
+: <a class="el" href="structggl_1_1ever__circling__iterator.html#960589b4dc59be2341a536efa1e01294">ggl::ever_circling_iterator&lt; Iterator &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x66.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x66.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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">f</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">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>first
+: <a class="el" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">ggl::segment&lt; P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x67.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x67.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+, <a class="el" href="classggl_1_1point.html#1feea795639ff3f2d985cc9ca32d2f9e">ggl::point&lt; T, D, C &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#23378d3d7d381ddac21b68e449fbccbc">ggl::strategy::convex_hull::graham&lt; P &gt;</a>
+<li>graham()
+: <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#00ccb1a05057f89cd1d557506e9eba1d">ggl::strategy::convex_hull::graham&lt; P &gt;</a>
+<li>grow()
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#6fc324d20c8daa360438eadd15c4d2ec">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x68.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x68.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<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&lt; P &gt;</a>
+<li>has_west
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>haversine()
+: <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a>
+<li>how
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#a7f2c671e062ab2461256b1dd5199aa6">ggl::policies::relate::direction_type</a>
+<li>how_a
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bdcf56ad4de2b765ea8567ed8505f115">ggl::policies::relate::direction_type</a>
+<li>how_b
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#28e2aa67bf557974a82020bf671992ce">ggl::policies::relate::direction_type</a>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x69.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x69.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>ib
+: <a class="el" href="structggl_1_1de9im.html#4767776fd61e061393e0be863e9bb4df">ggl::de9im</a>
+<li>ie
+: <a class="el" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ggl::de9im</a>
+<li>ii
+: <a class="el" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ggl::de9im</a>
+<li>inner_container_type
+: <a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</a>
+<li>inners()
+: <a class="el" href="classggl_1_1polygon.html#0d41c7b42a1444fdc759550644c7924e">ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</a>
+<li>intersections
+: <a class="el" href="structggl_1_1segment__intersection__points.html#94698ff4d23a90f0289a369e4d617d06">ggl::segment_intersection_points&lt; P &gt;</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&lt; P1, P2 &gt;</a>
+<li>iterator_category
+: <a class="el" href="structggl_1_1segment__iterator.html#8f0ff7afda611c09fb9df03c70c99d76">ggl::segment_iterator&lt; Base, Point &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6c.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6c.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<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&lt; P, D &gt;</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&lt; P, S &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6d.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6d.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>M
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cfed826adf99f091779e40eb01718131">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</a>
+<li>m_box
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">ggl::strategy::envelope::combine_xy&lt; P, B &gt;::state</a>
+<li>m_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#cbc1a5011d8f38842c1970ea9f7ae859">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</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#490515cf8b428ea54c0aacc3d9683876">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a>
+<li>map_transformer()
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#50548a182f22cf997edb2c1d4b249291">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</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&lt; P1, P2, 3, 3 &gt;</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&lt; P1, P2, 2, 2 &gt;</a>
+<li>matrix_type
+: <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#12592e67623e7963a17010ad3441389b">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</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#a76b6324f5b389154d46f685e0d87780">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a>
+<li>max_corner()
+: <a class="el" href="classggl_1_1box.html#ad3ec53ea62b0bfa3cb897cea62ea0f0">ggl::box&lt; P &gt;</a>
+<li>max_lat
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#2201a3f05376ad97399f34bf6d6043d4">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>max_lon1
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>max_lon2
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>mbr
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#ce5b18d34b88c63c3b35198370dd947e">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>min_corner()
+: <a class="el" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">ggl::box&lt; P &gt;</a>
+<li>min_lat
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>min_lon1
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>min_lon2
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>moveto()
+: <a class="el" href="structggl_1_1circular__iterator.html#7bf49b36a96ab752a363b620bef96d78">ggl::circular_iterator&lt; Iterator &gt;</a>
+, <a class="el" href="structggl_1_1ever__circling__iterator.html#3bf51f4dfcb1dc644c707fc956551ba4">ggl::ever_circling_iterator&lt; Iterator &gt;</a>
+<li>multi_index
+: <a class="el" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">ggl::segment_identifier</a>
+, <a class="el" href="structggl_1_1section.html#0403b41208359f079cf29876de56d182">ggl::section&lt; Box, DimensionCount &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6e.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6e.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<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&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1coordinate__type.html#a2452b2ff15dcb3de239e970cce63bd7">ggl::coordinate_type&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1point__type.html#6e4f57cc434784e7155016375d202b45">ggl::point_type&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1ring__type.html#9e7c22c3cd86a0d47f41e15c01b6a299">ggl::ring_type&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1point__const__iterator.html#57e35b1429bdc4d2100c488d5894d4df">ggl::point_const_iterator&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1interior__type.html#304a4e5fbdbc3a5504b7c0561d32e646">ggl::interior_type&lt; G &gt;</a>
+<li>non_duplicate_index
+: <a class="el" href="structggl_1_1section.html#0d442355c8be6a391319da7699ba4055">ggl::section&lt; Box, DimensionCount &gt;</a>
+<li>nsphere()
+: <a class="el" href="classggl_1_1nsphere.html#43ce9d06cc8e93f8be4e886e6f468fd6">ggl::nsphere&lt; P, T &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6f.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6f.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,162 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>one_not_fundamental
+: <a class="el" href="structggl_1_1select__most__precise.html#2da9be6ed1e727dadb061da08e0576c2">ggl::select_most_precise&lt; T1, T2 &gt;</a>
+<li>operator cast_type()
+: <a class="el" href="structggl_1_1cartesian__distance.html#0f7ef783e29548ca43f47bee6bca108e">ggl::cartesian_distance&lt; T &gt;</a>
+<li>operator()()
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html#30c3026667a9846ecad20909e561a84e">ggl::strategy::transform::copy_per_coordinate&lt; P1, P2 &gt;</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&lt; P1, P2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#7bbdf22f4985080ce60b2efcbf67352b">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">ggl::strategy::envelope::combine_xy&lt; P, B &gt;</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&lt; P1, P2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">ggl::strategy::within::franklin&lt; P, PS &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cfc29c7f64c6136784283fab579fa970">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html#152a03b3270b0086b5c8d926fe77f090">ggl::strategy::transform::degree_radian_vv&lt; P1, P2, F &gt;</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&lt; P1, P2 &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#ded28ff8067850eab6befbf3cec37098">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">ggl::strategy::within::winding&lt; P, PS &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#0a66b9fd4e7caf701344b9412cf0df5b">ggl::strategy::envelope::grow_ll&lt; P, B &gt;</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&lt; P1, P2, 2, 2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html#5f0d4eaa1ee3ca9b9719461ce322bd58">ggl::strategy::transform::copy_direct&lt; P &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html#b92cb18180679ef616fa34ff8972f937">ggl::strategy::transform::degree_radian_vv_3&lt; P1, P2, F &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</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&lt; P1, P2, 3, 3 &gt;</a>
+, <a class="el" href="structggl_1_1less.html#d92a2c426998512de2eb68328c0292e5">ggl::less&lt; P &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">ggl::strategy::centroid::geolib1995&lt; PC, PS &gt;</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&lt; P1, P2 &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#da96ada6f45642ee8e773e660cf6fb1a">ggl::strategy::distance::pythagoras&lt; P1, P2, CalculationType &gt;</a>
+<li>operator*()
+: <a class="el" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>operator++()
+: <a class="el" href="structggl_1_1segment__iterator.html#63c6edf091022da4e2afee8d395eeeaa">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>operator-&gt;()
+: <a class="el" href="structggl_1_1segment__iterator.html#2b2dfc371bc599e81a16671a83fc16de">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>operator&lt;()
+: <a class="el" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">ggl::cartesian_distance&lt; T &gt;</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&lt; T, C &gt;</a>
+<li>operator&lt;&lt;
+: <a class="el" href="structggl_1_1cartesian__distance.html#5a78899edbed0eae576b6fdc5f784ad2">ggl::cartesian_distance&lt; T &gt;</a>
+, <a class="el" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">ggl::svg_manipulator&lt; G &gt;</a>
+, <a class="el" href="classggl_1_1dsv__manipulator.html#5aa709742f33df7007f70baffcfc0d48">ggl::dsv_manipulator&lt; Geometry &gt;</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&lt; T &gt;</a>
+<li>operator&gt;()
+: <a class="el" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">ggl::cartesian_distance&lt; T &gt;</a>
+<li>opposite
+: <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&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x70.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x70.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,131 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>P1
+: <a class="el" href="structggl_1_1distance__result.html#eba52ff149917eef4e3c8138a8cb4830">ggl::distance_result&lt; G1, G2 &gt;</a>
+<li>P2
+: <a class="el" href="structggl_1_1distance__result.html#09dd903d489dbfa0ec23306ec7b88d02">ggl::distance_result&lt; G1, G2 &gt;</a>
+<li>parallel()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3887cd4e999e77056841445b19f82628">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#efcd33b8f82a96582cdd9b3ce3a05eb9">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1de9im__segment.html#22d637778bc6b7bca56ad475134ef243">ggl::de9im_segment</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#92164bfd70c2ff6e8d2778594d69b6da">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#970335edc3c8374463b8c0c4296c87f3">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+<li>point()
+: <a class="el" href="classggl_1_1point.html#526fb447a893414486fa85caa170cdbf">ggl::point&lt; T, D, C &gt;</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&lt; P, Segment, Strategy &gt;</a>
+<li>point_type
+: <a class="el" href="structggl_1_1area__result.html#d6428313802f153cd99b803ecde23872">ggl::area_result&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1segment.html#47f8bba55326d5ae988dc3a5a9f146c7">ggl::segment&lt; P &gt;</a>
+, <a class="el" href="structggl_1_1segment__iterator.html#e388acc7d123761a41a0132ed0b19d29">ggl::segment_iterator&lt; Base, Point &gt;</a>
+, <a class="el" href="classggl_1_1polygon.html#8dda8bcf15991e114554c6dcfb9c7231">ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</a>
+<li>point_xy()
+: <a class="el" href="classggl_1_1point__xy.html#1accd1e9e84fdf9cf8d9da084d239167">ggl::point_xy&lt; T, C &gt;</a>
+<li>pointer
+: <a class="el" href="structggl_1_1segment__iterator.html#fe664c6678e12e841a1c0be1e77e53a0">ggl::segment_iterator&lt; Base, Point &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x72.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x72.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,148 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>ra
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#818486fa06d8db5cf82161ec717f6f67">ggl::policies::relate::direction_type</a>
+, <a class="el" href="structggl_1_1de9im__segment.html#c858acc9b9c763af75765e9dc0763b9c">ggl::de9im_segment</a>
+<li>radius()
+: <a class="el" href="classggl_1_1nsphere.html#7cedc453e69b1cd38276d4b906cc29f5">ggl::nsphere&lt; P, T &gt;</a>
+<li>radius_type
+: <a class="el" href="classggl_1_1nsphere.html#9027e4f6129198cd158727edda7ee4eb">ggl::nsphere&lt; P, T &gt;</a>
+<li>range_count
+: <a class="el" href="structggl_1_1section.html#e8630665af85810bc73eaabbe8b8d1b5">ggl::section&lt; Box, DimensionCount &gt;</a>
+<li>rays_intersect()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#32ede06f7881e263fc42a6cf02f72f68">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#a31565e67fe3205615e88aef3015e550">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f82c271b6352c8b4df60172f302a90b6">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3aab22f63cc115f292a3ddbff5450f43">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+<li>rb
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#12b04114e3ec9186b1da15fd15891fab">ggl::policies::relate::direction_type</a>
+, <a class="el" href="structggl_1_1de9im__segment.html#fb3fbaa64bb5d0f2d467a7878ff5fc56">ggl::de9im_segment</a>
+<li>rconst
+: <a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">ggl::radius_type&lt; G &gt;</a>
+<li>reference
+: <a class="el" href="structggl_1_1segment__iterator.html#71b04f78cf84d967d8d11ec092d54dcc">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>return_type
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#93b91d42efd81a1b75c016fe886bd3b4">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">ggl::area_result&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">ggl::strategy::distance::pythagoras&lt; P1, P2, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a54175d4c138cd7319c8552f43824621">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a>
+<li>ring_index
+: <a class="el" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">ggl::section&lt; Box, DimensionCount &gt;</a>
+, <a class="el" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ggl::segment_identifier</a>
+<li>ring_type
+: <a class="el" href="classggl_1_1polygon.html#1c6fe805fcbf99e4b70afe9202c820aa">ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</a>
+<li>rotate_transformer()
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html#a38f61b33b815f836459fa1cb7ba1011">ggl::strategy::transform::rotate_transformer&lt; P1, P2, DegreeOrRadian &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x73.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x73.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,178 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>S
+: <a class="el" href="structggl_1_1distance__result.html#a8148b389a0cec2b42c5de450d52a3b3">ggl::distance_result&lt; G1, G2 &gt;</a>
+<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&lt; P1, P2, 2, 2 &gt;</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&lt; P1, P2, 3, 3 &gt;</a>
+<li>second
+: <a class="el" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">ggl::segment&lt; P &gt;</a>
+<li>second_larger
+: <a class="el" href="structggl_1_1select__most__precise.html#0d0774307858675158899fb96abd12ec">ggl::select_most_precise&lt; T1, T2 &gt;</a>
+<li>section()
+: <a class="el" href="structggl_1_1section.html#6b36770260c6a2c89a9a63fc641064c4">ggl::section&lt; Box, DimensionCount &gt;</a>
+<li>segment()
+: <a class="el" href="structggl_1_1segment.html#e8e37a9f4eeacb317a1ce971da6cbd87">ggl::segment&lt; P &gt;</a>
+<li>segment_equal()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#a36b30cceae8d736831ff406707dfd2d">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#38fbcf5e765fdff2104b206978a793a9">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#2fc7e51ab6b17055f8017b9bb276b086">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#43851ccf0d363d5c0d8a55c520f8c2b8">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+<li>segment_identifier()
+: <a class="el" href="structggl_1_1segment__identifier.html#eacab9f8a085d618b6259cc5233e65b0">ggl::segment_identifier</a>
+<li>segment_index
+: <a class="el" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">ggl::segment_identifier</a>
+<li>segment_intersection_points()
+: <a class="el" href="structggl_1_1segment__intersection__points.html#ebb3f0ded51caefcde6f8e2fddb16c92">ggl::segment_intersection_points&lt; P &gt;</a>
+<li>segment_iterator()
+: <a class="el" href="structggl_1_1segment__iterator.html#64fa7cd0ce95c704f4a40bdc914cffbb">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>segment_type
+: <a class="el" href="structggl_1_1segment__iterator.html#410f1a0aa22f7f4fb6c0850213aba66d">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>segment_type1
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#54550d451a6a983ef03643c1d03298cc">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6d294de7005beda339acd766c4634053">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#dd6bd0155c8cf7da5fddbe2833920135">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+<li>segment_type2
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#fd7fc33e6182aa0a02079261b98af377">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#411feeef724397e06f71dd1cabbda7e0">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#5765d55937d6cb6edc3a1cfe053f6f96">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+<li>set()
+: <a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html#bce25b446714591183532373ceeaf1f7">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+, <a class="el" href="classggl_1_1point.html#f84fee80a5505841b275b1c3f9bc7ddf">ggl::point&lt; T, D, C &gt;</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&lt; radian &gt;</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&lt; degree &gt;</a>
+<li>side()
+: <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#ef3dcea77c310bdd72a534539ef72edd">ggl::strategy::side::xy_side&lt; P, PS &gt;</a>
+<li>simplify()
+: <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#dca55aa87f6d5b49df52585fa0f97add">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a>
+<li>smaller()
+: <a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#69e12a7cd92180445c9d6b293a808059">ggl::strategy::compare::euclidian&lt; P, D &gt;</a>
+<li>source_index
+: <a class="el" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">ggl::segment_identifier</a>
+<li>squared_value()
+: <a class="el" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b">ggl::cartesian_distance&lt; T &gt;</a>
+<li>state()
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#d5773c71a966e0389f8976f6a42bda98">ggl::strategy::envelope::combine_xy&lt; P, B &gt;::state</a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e7472309bf08955ee6e41f15f6124516">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>state_type
+: <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#182ce543f6c73a393e327a281bd5833b">ggl::strategy::envelope::combine_xy&lt; P, B &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">ggl::strategy::within::winding&lt; P, PS &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">ggl::strategy::centroid::geolib1995&lt; PC, PS &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">ggl::strategy::within::franklin&lt; P, PS &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#8f49bd3eba8c415f56e24d4085e2b1be">ggl::strategy::envelope::grow_ll&lt; P, B &gt;</a>
+<li>strategy_type
+: <a class="el" href="structggl_1_1area__result.html#ccb03cf635c157788a99c33d8f3c3a1e">ggl::area_result&lt; Geometry &gt;</a>
+<li>svg_manipulator()
+: <a class="el" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">ggl::svg_manipulator&lt; G &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x74.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x74.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,151 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>T
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#a5b03bab846c70cc412672c5b8a15a33">ggl::strategy::transform::inverse_transformer&lt; P1, P2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cd9a362067f7a5825d01d040930a22c9">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</a>
+<li>take_minmax()
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::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&lt; P1, P2, 2, 2 &gt;</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&lt; P1, P2, 3, 3 &gt;</a>
+<li>type
+: <a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">ggl::distance_result&lt; G1, G2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy__parse.html#0d99f45801b3eff372b9ddd4693e4c1f">ggl::strategy_parse&lt; T, CS &gt;</a>
+, <a class="el" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">ggl::strategy_transform&lt; CS_TAG1, CS_TAG2, CS1, CS2, D1, D2, P1, P2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy__compare.html#990dea01301b207c8152141f89242399">ggl::strategy_compare&lt; T, P, D &gt;</a>
+, <a class="el" href="structggl_1_1strategy__side.html#ff01de1fab8079a9387be65b1b925428">ggl::strategy_side&lt; T, P, PS &gt;</a>
+, <a class="el" href="structggl_1_1strategy__within.html#91c77dd02ec4c0826d7b4debc7aa6599">ggl::strategy_within&lt; TP, TS, P, PS &gt;</a>
+, <a class="el" href="structggl_1_1strategy__convex__hull.html#ec3cbad2b86bbd620de9d6c669863f32">ggl::strategy_convex_hull&lt; T, P &gt;</a>
+, <a class="el" href="structggl_1_1strategy__envelope.html#3254d57340b4c3fc7ff081522627cbc2">ggl::strategy_envelope&lt; TP, TB, P, B &gt;</a>
+, <a class="el" href="structggl_1_1strategy__centroid.html#d993b491319e39b70e4b52c2fd9f5dd6">ggl::strategy_centroid&lt; T, P, PS &gt;</a>
+, <a class="el" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">ggl::strategy_distance_segment&lt; CsTag1, CsTag2, Point, Segment &gt;</a>
+, <a class="el" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">ggl::strategy_distance&lt; T1, T2, P1, P2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">ggl::strategy_area&lt; T, P &gt;</a>
+, <a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">ggl::point_const_iterator&lt; Geometry &gt;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+, <a class="el" href="structggl_1_1tag.html#278f0697dbc88a94726215f401e87179">ggl::tag&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">ggl::traits::tag&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">ggl::ring_type&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">ggl::radius_type&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">ggl::point_type&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">ggl::interior_type&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">ggl::cs_tag&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">ggl::coordinate_type&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">ggl::coordinate_system&lt; G &gt;</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&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;</a>
+, <a class="el" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">ggl::select_coordinate_type&lt; T1, T2 &gt;</a>
+, <a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">ggl::as_range_type&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">ggl::select_most_precise&lt; T1, T2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">ggl::strategy_tag&lt; T &gt;</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&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x75.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x75.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<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&lt; P1, P2, 2, 2 &gt;</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&lt; P1, P2, 3, 2 &gt;</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#62ee4b0a8b7b1e9b4a3b6621911fd0b4">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</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#2a4a593ed9bfa13f35718c475f8e99fb">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;</a>
+<li>units
+: <a class="el" href="structggl_1_1cs_1_1polar.html#6df418ef5da7108d03efbe7c8c0006f2">ggl::cs::polar&lt; DegreeOrRadian &gt;</a>
+, <a class="el" href="structggl_1_1cs_1_1spherical.html#5c75c8921bae27e9e214d4b57a3cdd75">ggl::cs::spherical&lt; DegreeOrRadian &gt;</a>
+, <a class="el" href="structggl_1_1cs_1_1geographic.html#239d9464e962c80a3b52cd2934ce1779">ggl::cs::geographic&lt; DegreeOrRadian &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x76.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x76.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<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&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">ggl::sections&lt; Box, DimensionCount &gt;</a>
+<li>value_type
+: <a class="el" href="structggl_1_1segment__iterator.html#e7521e2f53256bf6bd96b99079c92b4f">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>very_small()
+: <a class="el" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">ggl::cartesian_distance&lt; T &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x77.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x77.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x78.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x78.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<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&lt; T, C &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x79.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x79.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<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&lt; T, C &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x7e.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x7e.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>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>f</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">
+Here is a list of all class members with links to the classes they belong to:
+<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&lt; P, B &gt;::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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,407 @@
+<!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">
+&nbsp;&nbsp;
+</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>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+<li>add()
+: <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#8e27188bc1054b3017c059cce6b3c330">ggl::strategy::intersection::liang_barsky&lt; B, P &gt;</a>
+<li>add_range()
+: <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#5fdc022ecff10cfbea0d8d0f0dc4bcad">ggl::strategy::convex_hull::graham&lt; P &gt;</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&lt; Base, Point &gt;</a>
+<li>BOOST_CONCEPT_ASSERT()
+: <a class="el" href="structggl_1_1multi__linestring.html#ad0eb4fd23482608a67e61f460615d17">ggl::multi_linestring&lt; L, V, A &gt;</a>
+, <a class="el" href="structggl_1_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">ggl::multi_polygon&lt; P, V, A &gt;</a>
+, <a class="el" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">ggl::multi_point&lt; P, V, A &gt;</a>
+<li>BOOST_CONCEPT_USAGE()
+: <a class="el" href="structggl_1_1concept_1_1_const_segment.html#79691668dde1be67b7a497a6b1cd31ce">ggl::concept::ConstSegment&lt; S &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_const_linestring.html#8154a02204ad8183d57420846e7b5449">ggl::concept::ConstLinestring&lt; L &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_const_ring.html#1b6553b6ed0d5716bbc0044f7f29cfb2">ggl::concept::ConstRing&lt; R &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_ring.html#eb5f0045673fa11f20e4b48856a4bf69">ggl::concept::Ring&lt; R &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_const_polygon.html#efa7d199dbc8b2e17308e175fe4e33ca">ggl::concept::ConstPolygon&lt; P &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_polygon.html#69581c3daae416341fbe72829f567278">ggl::concept::Polygon&lt; P &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_segment.html#d2e340dff544a40ed257a1823dfd4749">ggl::concept::Segment&lt; S &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_point.html#59ab6c36bc854b94ee2404d084605f7b">ggl::concept::Point&lt; X &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_nsphere.html#f7a6ea630944b84202eed0a9de90cff4">ggl::concept::Nsphere&lt; S &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_const_nsphere.html#cf6dfbdf9c9bceab4e3b481b95f1fb11">ggl::concept::ConstNsphere&lt; S &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_box.html#6fa5d3378f1f34978c07d54abf69f753">ggl::concept::Box&lt; B &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_linestring.html#93370176c63ec560ead3a1cd8c8c3693">ggl::concept::Linestring&lt; L &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_const_point.html#4fa25bd423c491516e0453c2aad75a0a">ggl::concept::ConstPoint&lt; X &gt;</a>
+, <a class="el" href="structggl_1_1concept_1_1_const_box.html#0deab699f7cecb2854ba52635635405f">ggl::concept::ConstBox&lt; B &gt;</a>
+<li>box()
+: <a class="el" href="classggl_1_1box.html#40a32b03ef937f268b28716cd3a19ff4">ggl::box&lt; P &gt;</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&lt; P &gt;</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&lt; T &gt;</a>
+<li>center()
+: <a class="el" href="classggl_1_1nsphere.html#3f6b59190ffcbc30cbcac55073915674">ggl::nsphere&lt; P, T &gt;</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&lt; Iterator &gt;</a>
+<li>clear()
+: <a class="el" href="classggl_1_1polygon.html#114bcb53b0264af8edaa53d8e42bf45f">ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</a>
+<li>clip_segment()
+: <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#1a0456b13305792c70cd53b8571db1ef">ggl::strategy::intersection::liang_barsky&lt; B, P &gt;</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&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#a00a443f46cd557c282891c59cc683fb">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#c6ae19aac0a85a1344c591ff2d4b0cbb">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#512bec33f0d13ffe8bdcaa7d2c6cd1ec">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</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&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#e62d1ab6f50141636f04f5ae514e206b">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#298148121645c574e290081c7cd16995">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#d963f9b96126549f9328bd702e17df0f">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+<li>collinear_disjoint()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#7e36a5671574be928045baec27dcfe0d">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#bac75a74d17cdac4e693be8c6a76cd60">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac05de9fec4c0ff68b0c70e28f8be442">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#7e99a479fc3e9b45db7ab065305dccc6">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</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&lt; S1, S2, ReturnType &gt;</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&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#036ae4e5762ae6b9f981e7b9d39f0b2a">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#1fe7ee7acea8cc077bd98ca260d19bd9">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#80ce268792c7516aac1c546e8fbd9b24">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+<li>collinear_overlaps()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fc31e769602ef50ec62d22ed157554b4">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#eb0ebf059d5e294fb18156aac93027cb">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#23e3bbadf0217d59dfd71d01ee690ca8">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#798750f9c6e3ca554cef83e7ecbdb9cd">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+<li>collinear_touch()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#46d3001d71d9684f5806911c68d5bff5">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac5d192f53e833ee39c48dc8954199d9">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c9112222bb21c8bbc164008c9bdbfa24">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#047b8574e173fd4ccb5f32dba6adb904">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</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&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c38201cbc6a2788b300413a7f90103b2">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#3cf559644d63441e018d2a590559986e">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6992882507d5abb3a649db55eeaa01eb">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</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&lt; Geometry &gt;</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&lt; Iterator &gt;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+, <a class="el" href="classggl_1_1point.html#1feea795639ff3f2d985cc9ca32d2f9e">ggl::point&lt; T, D, C &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#23378d3d7d381ddac21b68e449fbccbc">ggl::strategy::convex_hull::graham&lt; P &gt;</a>
+<li>graham()
+: <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#00ccb1a05057f89cd1d557506e9eba1d">ggl::strategy::convex_hull::graham&lt; P &gt;</a>
+<li>grow()
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#6fc324d20c8daa360438eadd15c4d2ec">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::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&lt; P &gt;</a>
+<li>haversine()
+: <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</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&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&lt; P1, P2 &gt;</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&lt; P, D &gt;</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&lt; P, S &gt;</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&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</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&lt; P1, P2, 3, 3 &gt;</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&lt; P1, P2, 2, 2 &gt;</a>
+<li>max_corner()
+: <a class="el" href="classggl_1_1box.html#ad3ec53ea62b0bfa3cb897cea62ea0f0">ggl::box&lt; P &gt;</a>
+<li>min_corner()
+: <a class="el" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">ggl::box&lt; P &gt;</a>
+<li>moveto()
+: <a class="el" href="structggl_1_1ever__circling__iterator.html#3bf51f4dfcb1dc644c707fc956551ba4">ggl::ever_circling_iterator&lt; Iterator &gt;</a>
+, <a class="el" href="structggl_1_1circular__iterator.html#7bf49b36a96ab752a363b620bef96d78">ggl::circular_iterator&lt; Iterator &gt;</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&lt; P, T &gt;</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&lt; T &gt;</a>
+<li>operator()()
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html#5f0d4eaa1ee3ca9b9719461ce322bd58">ggl::strategy::transform::copy_direct&lt; P &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html#152a03b3270b0086b5c8d926fe77f090">ggl::strategy::transform::degree_radian_vv&lt; P1, P2, F &gt;</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&lt; P1, P2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">ggl::strategy::envelope::combine_xy&lt; P, B &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">ggl::strategy::within::franklin&lt; P, PS &gt;</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&lt; P1, P2 &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cfc29c7f64c6136784283fab579fa970">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#ded28ff8067850eab6befbf3cec37098">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html#b92cb18180679ef616fa34ff8972f937">ggl::strategy::transform::degree_radian_vv_3&lt; P1, P2, F &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">ggl::strategy::within::winding&lt; P, PS &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#0a66b9fd4e7caf701344b9412cf0df5b">ggl::strategy::envelope::grow_ll&lt; P, B &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1less.html#d92a2c426998512de2eb68328c0292e5">ggl::less&lt; P &gt;</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&lt; P1, P2, 2, 2 &gt;</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&lt; P1, P2, 3, 3 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html#30c3026667a9846ecad20909e561a84e">ggl::strategy::transform::copy_per_coordinate&lt; P1, P2 &gt;</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&lt; P1, P2 &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">ggl::strategy::centroid::geolib1995&lt; PC, PS &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt;</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&lt; P1, P2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#da96ada6f45642ee8e773e660cf6fb1a">ggl::strategy::distance::pythagoras&lt; P1, P2, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#7bbdf22f4985080ce60b2efcbf67352b">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</a>
+<li>operator*()
+: <a class="el" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>operator++()
+: <a class="el" href="structggl_1_1segment__iterator.html#63c6edf091022da4e2afee8d395eeeaa">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>operator-&gt;()
+: <a class="el" href="structggl_1_1segment__iterator.html#2b2dfc371bc599e81a16671a83fc16de">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>operator&lt;()
+: <a class="el" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">ggl::cartesian_distance&lt; T &gt;</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&lt; T, C &gt;</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&lt; T &gt;</a>
+<li>operator&gt;()
+: <a class="el" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">ggl::cartesian_distance&lt; T &gt;</a>
+<li>outer()
+: <a class="el" href="classggl_1_1polygon.html#be04d3ead04813a25be1a219076358a8">ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#efcd33b8f82a96582cdd9b3ce3a05eb9">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#970335edc3c8374463b8c0c4296c87f3">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#92164bfd70c2ff6e8d2778594d69b6da">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+<li>point()
+: <a class="el" href="classggl_1_1point.html#526fb447a893414486fa85caa170cdbf">ggl::point&lt; T, D, C &gt;</a>
+<li>point_xy()
+: <a class="el" href="classggl_1_1point__xy.html#844ec61e1186e2bb423a26c01e9a72d6">ggl::point_xy&lt; T, C &gt;</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&lt; P, T &gt;</a>
+<li>rays_intersect()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f82c271b6352c8b4df60172f302a90b6">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#a31565e67fe3205615e88aef3015e550">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#32ede06f7881e263fc42a6cf02f72f68">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3aab22f63cc115f292a3ddbff5450f43">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+<li>rotate_transformer()
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html#a38f61b33b815f836459fa1cb7ba1011">ggl::strategy::transform::rotate_transformer&lt; P1, P2, DegreeOrRadian &gt;</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&lt; P1, P2, 2, 2 &gt;</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&lt; P1, P2, 3, 3 &gt;</a>
+<li>section()
+: <a class="el" href="structggl_1_1section.html#6b36770260c6a2c89a9a63fc641064c4">ggl::section&lt; Box, DimensionCount &gt;</a>
+<li>segment()
+: <a class="el" href="structggl_1_1segment.html#e8e37a9f4eeacb317a1ce971da6cbd87">ggl::segment&lt; P &gt;</a>
+<li>segment_equal()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#43851ccf0d363d5c0d8a55c520f8c2b8">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#a36b30cceae8d736831ff406707dfd2d">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#38fbcf5e765fdff2104b206978a793a9">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#2fc7e51ab6b17055f8017b9bb276b086">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</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&lt; P &gt;</a>
+<li>segment_iterator()
+: <a class="el" href="structggl_1_1segment__iterator.html#64fa7cd0ce95c704f4a40bdc914cffbb">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>set()
+: <a class="el" href="classggl_1_1point.html#f84fee80a5505841b275b1c3f9bc7ddf">ggl::point&lt; T, D, C &gt;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</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&lt; radian &gt;</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&lt; degree &gt;</a>
+<li>side()
+: <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">ggl::strategy::side::xy_side&lt; P, PS &gt;</a>
+<li>simplify()
+: <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#dca55aa87f6d5b49df52585fa0f97add">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a>
+<li>smaller()
+: <a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#69e12a7cd92180445c9d6b293a808059">ggl::strategy::compare::euclidian&lt; P, D &gt;</a>
+<li>squared_value()
+: <a class="el" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b">ggl::cartesian_distance&lt; T &gt;</a>
+<li>state()
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e7472309bf08955ee6e41f15f6124516">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#d5773c71a966e0389f8976f6a42bda98">ggl::strategy::envelope::combine_xy&lt; P, B &gt;::state</a>
+<li>svg_manipulator()
+: <a class="el" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">ggl::svg_manipulator&lt; G &gt;</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&lt; P, B &gt;::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&lt; P1, P2, 2, 2 &gt;</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&lt; P1, P2, 3, 3 &gt;</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&lt; P1, P2, 2, 2 &gt;</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&lt; P1, P2, 3, 3 &gt;</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&lt; P1, P2, 3, 2 &gt;</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&lt; P1, P2, 2, 2 &gt;</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&lt; T &gt;</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&lt; T, C &gt;</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&lt; T, C &gt;</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&lt; P, B &gt;::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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_rela.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_rela.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li class="current">Related Functions</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>boost::iterator_core_access
+: <a class="el" href="structggl_1_1circular__iterator.html#c09f73e325921cc50ebcd96bed0f8096">ggl::circular_iterator&lt; Iterator &gt;</a>
+, <a class="el" href="structggl_1_1ever__circling__iterator.html#c09f73e325921cc50ebcd96bed0f8096">ggl::ever_circling_iterator&lt; Iterator &gt;</a>
+<li>operator&lt;&lt;
+: <a class="el" href="structggl_1_1cartesian__distance.html#5a78899edbed0eae576b6fdc5f784ad2">ggl::cartesian_distance&lt; T &gt;</a>
+, <a class="el" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">ggl::svg_manipulator&lt; G &gt;</a>
+, <a class="el" href="classggl_1_1dsv__manipulator.html#5aa709742f33df7007f70baffcfc0d48">ggl::dsv_manipulator&lt; Geometry &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_type.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,268 @@
+<!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">
+&nbsp;&nbsp;
+</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>Functions</li>
+ <li>Variables</li>
+ <li class="current">Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>i</li>
+ <li>m</li>
+ <li>n</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>base_type
+: <a class="el" href="structggl_1_1segment__iterator.html#2670ce6fa8403a2da8b1b79c9a62ef47">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>box_type
+: <a class="el" href="structggl_1_1sections.html#9ad75a29e07d632e85847e4f206715ba">ggl::sections&lt; Box, DimensionCount &gt;</a>
+, <a class="el" href="structggl_1_1section.html#da71a242258d79119fb6df06d290095e">ggl::section&lt; Box, DimensionCount &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>calculation_type
+: <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc86abbd7440ed39ba7e78d40c304e6b">ggl::strategy::distance::pythagoras&lt; P1, P2, CalculationType &gt;</a>
+<li>coordinate_system
+: <a class="el" href="classggl_1_1point.html#e3cedeca07933bd026e910ee8bb4547b">ggl::point&lt; T, D, C &gt;</a>
+<li>coordinate_type
+: <a class="el" href="classggl_1_1point.html#114e475fd2f5f30fac7f60ef732dd402">ggl::point&lt; T, D, C &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#e814cd145873164ae0b9c0c094e20687">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</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&lt; P1, P2, 3, 3 &gt;</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&lt; P1, P2, 2, 2 &gt;</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&lt; P1, P2, 3, 3 &gt;</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&lt; P1, P2, 2, 2 &gt;</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&lt; P1, P2, 3, 3 &gt;</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&lt; P1, P2, 3, 2 &gt;</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&lt; P1, P2, 2, 2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a1bf8289c8a5b0fc97ee2943476a69a7">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#552bc7eddefee9641c7da37c71e2dc54">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#bcb088829827c05640c84ca1c324361a">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="classggl_1_1nsphere.html#a3595c7d5427261600efdc0e37ded8bb">ggl::nsphere&lt; P, T &gt;</a>
+<li>ct
+: <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#951814d986884cb4de41d5ac69f49935">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</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&lt; P1, P2, 2, 2 &gt;</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&lt; P1, P2, 3, 2 &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>difference_type
+: <a class="el" href="structggl_1_1segment__iterator.html#e3d45134f345df9ec7aa89f8e2e95bdf">ggl::segment_iterator&lt; Base, Point &gt;</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&lt; P, Segment, Strategy &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</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&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</a>
+<li>iterator_category
+: <a class="el" href="structggl_1_1segment__iterator.html#8f0ff7afda611c09fb9df03c70c99d76">ggl::segment_iterator&lt; Base, Point &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>M
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cfed826adf99f091779e40eb01718131">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</a>
+<li>matrix_type
+: <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#a76b6324f5b389154d46f685e0d87780">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</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#12592e67623e7963a17010ad3441389b">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a>
+</ul>
+<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&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1point__const__iterator.html#57e35b1429bdc4d2100c488d5894d4df">ggl::point_const_iterator&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1ring__type.html#9e7c22c3cd86a0d47f41e15c01b6a299">ggl::ring_type&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1point__type.html#6e4f57cc434784e7155016375d202b45">ggl::point_type&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1interior__type.html#304a4e5fbdbc3a5504b7c0561d32e646">ggl::interior_type&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1coordinate__type.html#a2452b2ff15dcb3de239e970cce63bd7">ggl::coordinate_type&lt; G &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>P1
+: <a class="el" href="structggl_1_1distance__result.html#eba52ff149917eef4e3c8138a8cb4830">ggl::distance_result&lt; G1, G2 &gt;</a>
+<li>P2
+: <a class="el" href="structggl_1_1distance__result.html#09dd903d489dbfa0ec23306ec7b88d02">ggl::distance_result&lt; G1, G2 &gt;</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&lt; P, Segment, Strategy &gt;</a>
+<li>point_type
+: <a class="el" href="structggl_1_1segment.html#47f8bba55326d5ae988dc3a5a9f146c7">ggl::segment&lt; P &gt;</a>
+, <a class="el" href="classggl_1_1polygon.html#8dda8bcf15991e114554c6dcfb9c7231">ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</a>
+, <a class="el" href="structggl_1_1area__result.html#d6428313802f153cd99b803ecde23872">ggl::area_result&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1segment__iterator.html#e388acc7d123761a41a0132ed0b19d29">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>pointer
+: <a class="el" href="structggl_1_1segment__iterator.html#fe664c6678e12e841a1c0be1e77e53a0">ggl::segment_iterator&lt; Base, Point &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>radius_type
+: <a class="el" href="classggl_1_1nsphere.html#9027e4f6129198cd158727edda7ee4eb">ggl::nsphere&lt; P, T &gt;</a>
+<li>rconst
+: <a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">ggl::radius_type&lt; G &gt;</a>
+<li>reference
+: <a class="el" href="structggl_1_1segment__iterator.html#71b04f78cf84d967d8d11ec092d54dcc">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>return_type
+: <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a54175d4c138cd7319c8552f43824621">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">ggl::strategy::distance::pythagoras&lt; P1, P2, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">ggl::area_result&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#93b91d42efd81a1b75c016fe886bd3b4">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a>
+<li>ring_type
+: <a class="el" href="classggl_1_1polygon.html#1c6fe805fcbf99e4b70afe9202c820aa">ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>S
+: <a class="el" href="structggl_1_1distance__result.html#a8148b389a0cec2b42c5de450d52a3b3">ggl::distance_result&lt; G1, G2 &gt;</a>
+<li>segment_type
+: <a class="el" href="structggl_1_1segment__iterator.html#410f1a0aa22f7f4fb6c0850213aba66d">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li>segment_type1
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6d294de7005beda339acd766c4634053">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#dd6bd0155c8cf7da5fddbe2833920135">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#54550d451a6a983ef03643c1d03298cc">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+<li>segment_type2
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#411feeef724397e06f71dd1cabbda7e0">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#5765d55937d6cb6edc3a1cfe053f6f96">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#fd7fc33e6182aa0a02079261b98af377">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+<li>state_type
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#8f49bd3eba8c415f56e24d4085e2b1be">ggl::strategy::envelope::grow_ll&lt; P, B &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#182ce543f6c73a393e327a281bd5833b">ggl::strategy::envelope::combine_xy&lt; P, B &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">ggl::strategy::centroid::geolib1995&lt; PC, PS &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">ggl::strategy::within::franklin&lt; P, PS &gt;</a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">ggl::strategy::within::winding&lt; P, PS &gt;</a>
+<li>strategy_type
+: <a class="el" href="structggl_1_1area__result.html#ccb03cf635c157788a99c33d8f3c3a1e">ggl::area_result&lt; Geometry &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>T
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#a5b03bab846c70cc412672c5b8a15a33">ggl::strategy::transform::inverse_transformer&lt; P1, P2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cd9a362067f7a5825d01d040930a22c9">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</a>
+<li>type
+: <a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">ggl::as_range_type&lt; Geometry &gt;</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&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;</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&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;</a>
+, <a class="el" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">ggl::strategy_tag&lt; T &gt;</a>
+, <a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">ggl::distance_result&lt; G1, G2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy__parse.html#0d99f45801b3eff372b9ddd4693e4c1f">ggl::strategy_parse&lt; T, CS &gt;</a>
+, <a class="el" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">ggl::strategy_transform&lt; CS_TAG1, CS_TAG2, CS1, CS2, D1, D2, P1, P2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy__compare.html#990dea01301b207c8152141f89242399">ggl::strategy_compare&lt; T, P, D &gt;</a>
+, <a class="el" href="structggl_1_1strategy__side.html#ff01de1fab8079a9387be65b1b925428">ggl::strategy_side&lt; T, P, PS &gt;</a>
+, <a class="el" href="structggl_1_1strategy__within.html#91c77dd02ec4c0826d7b4debc7aa6599">ggl::strategy_within&lt; TP, TS, P, PS &gt;</a>
+, <a class="el" href="structggl_1_1strategy__convex__hull.html#ec3cbad2b86bbd620de9d6c669863f32">ggl::strategy_convex_hull&lt; T, P &gt;</a>
+, <a class="el" href="structggl_1_1strategy__envelope.html#3254d57340b4c3fc7ff081522627cbc2">ggl::strategy_envelope&lt; TP, TB, P, B &gt;</a>
+, <a class="el" href="structggl_1_1strategy__centroid.html#d993b491319e39b70e4b52c2fd9f5dd6">ggl::strategy_centroid&lt; T, P, PS &gt;</a>
+, <a class="el" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">ggl::strategy_distance_segment&lt; CsTag1, CsTag2, Point, Segment &gt;</a>
+, <a class="el" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">ggl::strategy_distance&lt; T1, T2, P1, P2 &gt;</a>
+, <a class="el" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">ggl::strategy_area&lt; T, P &gt;</a>
+, <a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">ggl::point_const_iterator&lt; Geometry &gt;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+, <a class="el" href="structggl_1_1tag.html#278f0697dbc88a94726215f401e87179">ggl::tag&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">ggl::traits::tag&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">ggl::ring_type&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">ggl::radius_type&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">ggl::point_type&lt; Geometry &gt;</a>
+, <a class="el" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">ggl::interior_type&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">ggl::cs_tag&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">ggl::coordinate_type&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">ggl::coordinate_system&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">ggl::select_coordinate_type&lt; T1, T2 &gt;</a>
+, <a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">ggl::select_most_precise&lt; T1, T2 &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
+<li>units
+: <a class="el" href="structggl_1_1cs_1_1geographic.html#239d9464e962c80a3b52cd2934ce1779">ggl::cs::geographic&lt; DegreeOrRadian &gt;</a>
+, <a class="el" href="structggl_1_1cs_1_1polar.html#6df418ef5da7108d03efbe7c8c0006f2">ggl::cs::polar&lt; DegreeOrRadian &gt;</a>
+, <a class="el" href="structggl_1_1cs_1_1spherical.html#5c75c8921bae27e9e214d4b57a3cdd75">ggl::cs::spherical&lt; DegreeOrRadian &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<li>value_type
+: <a class="el" href="structggl_1_1segment__iterator.html#e7521e2f53256bf6bd96b99079c92b4f">ggl::segment_iterator&lt; Base, Point &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_vars.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_vars.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,233 @@
+<!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">
+&nbsp;&nbsp;
+</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>Functions</li>
+ <li class="current">Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</li>
+ <li>h</li>
+ <li>i</li>
+ <li>m</li>
+ <li>n</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>v</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>bb
+: <a class="el" href="structggl_1_1de9im.html#ab65195a5bd2896f17d0e252b2bd40c7">ggl::de9im</a>
+<li>be
+: <a class="el" href="structggl_1_1de9im.html#af418e3af0e74fca9df112e8c674fc30">ggl::de9im</a>
+<li>begin_index
+: <a class="el" href="structggl_1_1section.html#fcde79e0f07f3744382e8ecbb6ceeaa3">ggl::section&lt; Box, DimensionCount &gt;</a>
+<li>bi
+: <a class="el" href="structggl_1_1de9im.html#f77b1dd2036f4f685e34bc73988eae7f">ggl::de9im</a>
+<li>both_same
+: <a class="el" href="structggl_1_1select__most__precise.html#606ead26747f5bc9bb5ec53248fd61f7">ggl::select_most_precise&lt; T1, T2 &gt;</a>
+<li>bounding_box
+: <a class="el" href="structggl_1_1section.html#dbdec35a5e0878ecc3ac31d28dd12f6f">ggl::section&lt; Box, DimensionCount &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>collinear
+: <a class="el" href="structggl_1_1de9im__segment.html#74f8612ae82c3a2f5ca3d4a45737756a">ggl::de9im_segment</a>
+<li>coordinate_count
+: <a class="el" href="classggl_1_1point.html#b25e04c9eb7bf3dbc6ee17a27423e7d6">ggl::point&lt; T, D, C &gt;</a>
+<li>count
+: <a class="el" href="structggl_1_1section.html#c53669933d966cf7c9c19b8376b5b731">ggl::section&lt; Box, DimensionCount &gt;</a>
+, <a class="el" href="structggl_1_1segment__intersection__points.html#a1ecc423597a6f800f82f1ab092bd346">ggl::segment_intersection_points&lt; P &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>degenerate
+: <a class="el" href="structggl_1_1de9im__segment.html#b583e13a80450bfde17e1a35615ac236">ggl::de9im_segment</a>
+<li>dir_a
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bb19847f2c087e788bbe7498d6459c01">ggl::policies::relate::direction_type</a>
+<li>dir_b
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#c41c730c67f5c22191f62d5b0a9eb28b">ggl::policies::relate::direction_type</a>
+<li>directions
+: <a class="el" href="structggl_1_1section.html#685294c3e7107f87fcb7def9e2a6f430">ggl::section&lt; Box, DimensionCount &gt;</a>
+<li>duplicate
+: <a class="el" href="structggl_1_1section.html#ef8836af463d9d92f0c2fc6bc4668f54">ggl::section&lt; Box, DimensionCount &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>eb
+: <a class="el" href="structggl_1_1de9im.html#b2d84c96bb9d0c9fa3c4e5e0ba9d4a65">ggl::de9im</a>
+<li>ee
+: <a class="el" href="structggl_1_1de9im.html#a3e8fb274304ac4413e7a19375156ad1">ggl::de9im</a>
+<li>ei
+: <a class="el" href="structggl_1_1de9im.html#e594f1211d0b2915f78a1c7ab403aa10">ggl::de9im</a>
+<li>end_index
+: <a class="el" href="structggl_1_1section.html#22897e4894f0d4dcaa80f0ab30376c68">ggl::section&lt; Box, DimensionCount &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>first
+: <a class="el" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">ggl::segment&lt; P &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>has_west
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>how
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#a7f2c671e062ab2461256b1dd5199aa6">ggl::policies::relate::direction_type</a>
+<li>how_a
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bdcf56ad4de2b765ea8567ed8505f115">ggl::policies::relate::direction_type</a>
+<li>how_b
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#28e2aa67bf557974a82020bf671992ce">ggl::policies::relate::direction_type</a>
+</ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>ib
+: <a class="el" href="structggl_1_1de9im.html#4767776fd61e061393e0be863e9bb4df">ggl::de9im</a>
+<li>ie
+: <a class="el" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ggl::de9im</a>
+<li>ii
+: <a class="el" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ggl::de9im</a>
+<li>intersections
+: <a class="el" href="structggl_1_1segment__intersection__points.html#94698ff4d23a90f0289a369e4d617d06">ggl::segment_intersection_points&lt; P &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>m_box
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">ggl::strategy::envelope::combine_xy&lt; P, B &gt;::state</a>
+<li>m_matrix
+: <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#490515cf8b428ea54c0aacc3d9683876">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</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#cbc1a5011d8f38842c1970ea9f7ae859">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a>
+<li>max_lat
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#2201a3f05376ad97399f34bf6d6043d4">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>max_lon1
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>max_lon2
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>mbr
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#ce5b18d34b88c63c3b35198370dd947e">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>min_lat
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>min_lon1
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>min_lon2
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li>multi_index
+: <a class="el" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">ggl::segment_identifier</a>
+, <a class="el" href="structggl_1_1section.html#0403b41208359f079cf29876de56d182">ggl::section&lt; Box, DimensionCount &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+<li>non_duplicate_index
+: <a class="el" href="structggl_1_1section.html#0d442355c8be6a391319da7699ba4055">ggl::section&lt; Box, DimensionCount &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>one_not_fundamental
+: <a class="el" href="structggl_1_1select__most__precise.html#2da9be6ed1e727dadb061da08e0576c2">ggl::select_most_precise&lt; T1, T2 &gt;</a>
+<li>opposite
+: <a class="el" href="structggl_1_1de9im__segment.html#41e71c0be72985cbf9558b172dddaf6f">ggl::de9im_segment</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#84883a234b8e5bd2a93ef27bc77059e1">ggl::policies::relate::direction_type</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>parallel
+: <a class="el" href="structggl_1_1de9im__segment.html#22d637778bc6b7bca56ad475134ef243">ggl::de9im_segment</a>
+</ul>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>ra
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#818486fa06d8db5cf82161ec717f6f67">ggl::policies::relate::direction_type</a>
+, <a class="el" href="structggl_1_1de9im__segment.html#c858acc9b9c763af75765e9dc0763b9c">ggl::de9im_segment</a>
+<li>range_count
+: <a class="el" href="structggl_1_1section.html#e8630665af85810bc73eaabbe8b8d1b5">ggl::section&lt; Box, DimensionCount &gt;</a>
+<li>rb
+: <a class="el" href="structggl_1_1de9im__segment.html#fb3fbaa64bb5d0f2d467a7878ff5fc56">ggl::de9im_segment</a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#12b04114e3ec9186b1da15fd15891fab">ggl::policies::relate::direction_type</a>
+<li>ring_index
+: <a class="el" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">ggl::section&lt; Box, DimensionCount &gt;</a>
+, <a class="el" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ggl::segment_identifier</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>second
+: <a class="el" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">ggl::segment&lt; P &gt;</a>
+<li>second_larger
+: <a class="el" href="structggl_1_1select__most__precise.html#0d0774307858675158899fb96abd12ec">ggl::select_most_precise&lt; T1, T2 &gt;</a>
+<li>segment_index
+: <a class="el" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">ggl::segment_identifier</a>
+<li>source_index
+: <a class="el" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">ggl::segment_identifier</a>
+</ul>
+<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&lt; G &gt;</a>
+, <a class="el" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">ggl::sections&lt; Box, DimensionCount &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/geometries_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/geometries_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/geometries.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/geometries_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/geometries_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/geometries.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="c__array_8hpp.html">ggl/geometries/adapted/c_array.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="tuple_8hpp.html">ggl/geometries/adapted/tuple.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="point_8hpp.html">ggl/geometries/point.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="point__xy_8hpp.html">ggl/geometries/point_xy.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="linear__ring_8hpp.html">ggl/geometries/linear_ring.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="linestring_8hpp.html">ggl/geometries/linestring.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="polygon_8hpp.html">ggl/geometries/polygon.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="box_8hpp.html">ggl/geometries/box.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="nsphere_8hpp.html">ggl/geometries/nsphere.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#endif // GGL_GEOMETRIES_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__cs__as__radian_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__cs__as__radian_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/get_cs_as_radian.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__cs__as__radian_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__cs__as__radian_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/get_cs_as_radian.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_UTIL_GET_CS_AS_RADIAN_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_GET_CS_AS_RADIAN_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="keyword">namespace </span>ggl {
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="keyword">namespace </span>detail {
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateSystem&gt;
+<a name="l00021"></a>00021 <span class="keyword">struct </span>get_cs_as_radian {};
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Units&gt;
+<a name="l00024"></a>00024 <span class="keyword">struct </span>get_cs_as_radian&lt;cs::geographic&lt;Units&gt; &gt;
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026 <span class="keyword">typedef</span> cs::geographic&lt;radian&gt; type;
+<a name="l00027"></a>00027 };
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Units&gt;
+<a name="l00030"></a>00030 <span class="keyword">struct </span>get_cs_as_radian&lt;cs::spherical&lt;Units&gt; &gt;
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keyword">typedef</span> cs::spherical&lt;radian&gt; type;
+<a name="l00033"></a>00033 };
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 } <span class="comment">// namespace detail</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#endif</span>
+<a name="l00037"></a>00037 <span class="preprocessor"></span>
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 } <span class="comment">// namespace ggl</span>
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="preprocessor">#endif // GGL_UTIL_GET_CS_AS_RADIAN_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/get_intersection_points.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 &nbsp;</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&lt;typename Geometry1 , typename Geometry2 , typename IntersectionPoints &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9">ggl::get_intersection_points</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, IntersectionPoints &amp;intersection_points)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate intersection points of two geometries. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,776 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/get_intersection_points.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_ALGORITHMS_GET_INTERSECTION_POINTS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_GET_INTERSECTION_POINTS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/tuple/tuple.hpp&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="reverse__dispatch_8hpp.html">ggl/core/reverse_dispatch.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;<a class="code" href="box_8hpp.html">ggl/geometries/box.hpp</a>&gt;</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;ggl/strategies/cartesian/cart_intersect.hpp&gt;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;<a class="code" href="intersection__result_8hpp.html">ggl/strategies/intersection_result.hpp</a>&gt;</span>
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;<a class="code" href="intersection__points_8hpp.html">ggl/policies/relate/intersection_points.hpp</a>&gt;</span>
+<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;<a class="code" href="direction_8hpp.html">ggl/policies/relate/direction.hpp</a>&gt;</span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;<a class="code" href="tupled_8hpp.html">ggl/policies/relate/tupled.hpp</a>&gt;</span>
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;<a class="code" href="intersection__point_8hpp.html">ggl/algorithms/overlay/intersection_point.hpp</a>&gt;</span>
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2distance_8hpp.html">ggl/algorithms/distance.hpp</a>&gt;</span>
+<a name="l00043"></a>00043 <span class="preprocessor">#include &lt;<a class="code" href="disjoint_8hpp.html">ggl/algorithms/disjoint.hpp</a>&gt;</span>
+<a name="l00044"></a>00044 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2sectionalize_8hpp.html">ggl/algorithms/sectionalize.hpp</a>&gt;</span>
+<a name="l00045"></a>00045 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2get__section_8hpp.html">ggl/algorithms/get_section.hpp</a>&gt;</span>
+<a name="l00046"></a>00046 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>&gt;</span>
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">namespace </span>ggl
+<a name="l00051"></a>00051 {
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a> {
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Segment1, <span class="keyword">typename</span> Segment2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00059"></a>00059 <span class="keyword">struct </span>relate
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Segment1 <span class="keyword">const</span>&amp; s1, Segment2 <span class="keyword">const</span>&amp; s2,
+<a name="l00062"></a>00062 segment_identifier <span class="keyword">const</span>&amp; seg_id1,
+<a name="l00063"></a>00063 segment_identifier <span class="keyword">const</span>&amp; seg_id2,
+<a name="l00064"></a>00064 IntersectionPoints&amp; out, <span class="keywordtype">bool</span>&amp; trivial)
+<a name="l00065"></a>00065 {
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value
+<a name="l00068"></a>00068 &lt;
+<a name="l00069"></a>00069 IntersectionPoints
+<a name="l00070"></a>00070 &gt;::type intersection_point;
+<a name="l00071"></a>00071 <span class="keyword">typedef</span> segment_intersection_points&lt;intersection_point&gt; ip_type;
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keyword">typedef</span> boost::tuple
+<a name="l00074"></a>00074 &lt;
+<a name="l00075"></a>00075 ip_type,
+<a name="l00076"></a>00076 policies::relate::direction_type
+<a name="l00077"></a>00077 &gt; result_type;
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 result_type result = strategy::intersection::relate_cartesian_segments
+<a name="l00080"></a>00080 &lt;
+<a name="l00081"></a>00081 policies::relate::segments_tupled
+<a name="l00082"></a>00082 &lt;
+<a name="l00083"></a>00083 policies::relate::segments_intersection_points
+<a name="l00084"></a>00084 &lt;
+<a name="l00085"></a>00085 Segment1,
+<a name="l00086"></a>00086 Segment2,
+<a name="l00087"></a>00087 ip_type
+<a name="l00088"></a>00088 &gt; ,
+<a name="l00089"></a>00089 policies::relate::segments_direction
+<a name="l00090"></a>00090 &lt;
+<a name="l00091"></a>00091 Segment1,
+<a name="l00092"></a>00092 Segment2
+<a name="l00093"></a>00093 &gt;
+<a name="l00094"></a>00094 &gt;
+<a name="l00095"></a>00095 &gt;::relate(s1, s2);
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 ip_type&amp; is = result.get&lt;0&gt;();
+<a name="l00098"></a>00098 policies::relate::direction_type &amp; dir = result.get&lt;1&gt;();
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; is.count; i++)
+<a name="l00101"></a>00101 {
+<a name="l00102"></a>00102 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Segment1&gt;::type point1_type;
+<a name="l00103"></a>00103 <span class="keyword">typedef</span> <span class="keyword">typename</span> cs_tag&lt;point1_type&gt;::type tag;
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keyword">typename</span> intersection_point::traversal_type info;
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 info.how = dir.how;
+<a name="l00108"></a>00108 info.opposite = dir.opposite;
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="comment">// First info-record, containing info about segment 1</span>
+<a name="l00111"></a>00111 info.seg_id = seg_id1;
+<a name="l00112"></a>00112 info.other_id = seg_id2;
+<a name="l00113"></a>00113 info.other_point = dir.how_a == 1 ? s1.first : s1.second;
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 info.distance = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(is.intersections[i], s1.first);
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="comment">//info.distance = dir.ra; // NOTE: not possible for collinear intersections!</span>
+<a name="l00118"></a>00118 info.arrival = dir.how_a;
+<a name="l00119"></a>00119 info.direction = dir.dir_a;
+<a name="l00120"></a>00120 is.intersections[i].info.push_back(info);
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="comment">// Second info-record, containing info about segment 2</span>
+<a name="l00124"></a>00124 info.seg_id = seg_id2;
+<a name="l00125"></a>00125 info.other_id = seg_id1;
+<a name="l00126"></a>00126 info.other_point = dir.how_b == 1 ? s2.first : s2.second;
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 info.distance = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(is.intersections[i], s2.first);
+<a name="l00129"></a>00129 <span class="comment">//info.distance = dir.rb;</span>
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 info.arrival = dir.how_b;
+<a name="l00132"></a>00132 info.direction = dir.dir_b;
+<a name="l00133"></a>00133 is.intersections[i].info.push_back(info);
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keywordflow">if</span> (dir.how != <span class="charliteral">'i'</span>)
+<a name="l00136"></a>00136 {
+<a name="l00137"></a>00137 trivial = <span class="keyword">false</span>;
+<a name="l00138"></a>00138 is.intersections[i].trivial = <span class="keyword">false</span>;
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 <span class="comment">// Robustness: due to IEEE floating point errors, also in double, it might be</span>
+<a name="l00142"></a>00142 <span class="comment">// that the IP is at the same location as s1.first/s1.second, and still</span>
+<a name="l00143"></a>00143 <span class="comment">// being classified as an 'i' (normal intersection). Then handle it as non-trivial,</span>
+<a name="l00144"></a>00144 <span class="comment">// such that the IP's will be merged lateron.</span>
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="keywordtype">double</span> eps = 1.0e-10;
+<a name="l00147"></a>00147 <span class="keywordflow">if</span> (dir.how == <span class="charliteral">'i'</span>
+<a name="l00148"></a>00148 &amp;&amp; (dir.ra &lt; eps
+<a name="l00149"></a>00149 || dir.rb &lt; eps
+<a name="l00150"></a>00150 || 1.0 - dir.ra &lt; eps
+<a name="l00151"></a>00151 || 1.0 - dir.rb &lt; eps
+<a name="l00152"></a>00152 )
+<a name="l00153"></a>00153 )
+<a name="l00154"></a>00154 {
+<a name="l00155"></a>00155 <span class="comment">// Handle them as non-trivial. This will case a "merge" lateron,</span>
+<a name="l00156"></a>00156 <span class="comment">// which could be done anyway (because of other intersections)</span>
+<a name="l00157"></a>00157 <span class="comment">// So it is never harmful to do this with a larger epsilon.</span>
+<a name="l00158"></a>00158 <span class="comment">// However, it has to be handled (more) carefully lateron, in</span>
+<a name="l00159"></a>00159 <span class="comment">// 'merge' or 'adapt_turns'</span>
+<a name="l00160"></a>00160 trivial = <span class="keyword">false</span>;
+<a name="l00161"></a>00161 is.intersections[i].trivial = <span class="keyword">false</span>;
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00165"></a>00165 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"INTERSECTION suspicious: "</span> &lt;&lt; std::setprecision(20)
+<a name="l00166"></a>00166 &lt;&lt; <span class="stringliteral">" ra: "</span> &lt;&lt; dir.ra
+<a name="l00167"></a>00167 &lt;&lt; <span class="stringliteral">" rb: "</span> &lt;&lt; dir.rb
+<a name="l00168"></a>00168 &lt;&lt; std::endl
+<a name="l00169"></a>00169 &lt;&lt; <span class="stringliteral">" dist1: "</span> &lt;&lt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(is.intersections[i], s1.first)
+<a name="l00170"></a>00170 &lt;&lt; <span class="stringliteral">" dist2: "</span> &lt;&lt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(is.intersections[i], s1.second)
+<a name="l00171"></a>00171 &lt;&lt; std::endl;
+<a name="l00172"></a>00172 <span class="preprocessor">#endif</span>
+<a name="l00173"></a>00173 <span class="preprocessor"></span> }
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175 out.push_back(is.intersections[i]);
+<a name="l00176"></a>00176 }
+<a name="l00177"></a>00177 <span class="keywordflow">return</span> is.count &gt; 0;
+<a name="l00178"></a>00178 }
+<a name="l00179"></a>00179 };
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="keyword">template</span>
+<a name="l00182"></a>00182 &lt;
+<a name="l00183"></a>00183 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
+<a name="l00184"></a>00184 <span class="keyword">typename</span> Section1, <span class="keyword">typename</span> Section2,
+<a name="l00185"></a>00185 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00186"></a>00186 &gt;
+<a name="l00187"></a>00187 <span class="keyword">class </span>get_ips_in_sections
+<a name="l00188"></a>00188 {
+<a name="l00189"></a>00189 <span class="keyword">public</span> :
+<a name="l00190"></a>00190 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(
+<a name="l00191"></a>00191 std::size_t source_id1, Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00192"></a>00192 Section1 <span class="keyword">const</span>&amp; sec1,
+<a name="l00193"></a>00193 std::size_t source_id2, Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00194"></a>00194 Section2 <span class="keyword">const</span>&amp; sec2,
+<a name="l00195"></a>00195 <span class="keywordtype">bool</span> return_if_found,
+<a name="l00196"></a>00196 IntersectionPoints&amp; intersection_points,
+<a name="l00197"></a>00197 <span class="keywordtype">bool</span>&amp; 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="l00201"></a>00201 &lt;
+<a name="l00202"></a>00202 Geometry1
+<a name="l00203"></a>00203 &gt;::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="l00205"></a>00205 &lt;
+<a name="l00206"></a>00206 Geometry2
+<a name="l00207"></a>00207 &gt;::type range2_iterator;
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 <span class="keywordtype">int</span> <span class="keyword">const</span> dir1 = sec1.directions[0];
+<a name="l00210"></a>00210 <span class="keywordtype">int</span> <span class="keyword">const</span> dir2 = sec2.directions[0];
+<a name="l00211"></a>00211 <span class="keywordtype">int</span> index1 = sec1.begin_index;
+<a name="l00212"></a>00212 <span class="keywordtype">int</span> ndi1 = sec1.non_duplicate_index;
+<a name="l00213"></a>00213
+<a name="l00214"></a>00214 <span class="keywordtype">bool</span> <span class="keyword">const</span> same_source =
+<a name="l00215"></a>00215 source_id1 == source_id2
+<a name="l00216"></a>00216 &amp;&amp; sec1.multi_index == sec2.multi_index
+<a name="l00217"></a>00217 &amp;&amp; sec1.ring_index == sec2.ring_index;
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219 <span class="comment">// Note that it is NOT possible to have section-iterators here</span>
+<a name="l00220"></a>00220 <span class="comment">// because of the logistics of "index" (the section-iterator automatically</span>
+<a name="l00221"></a>00221 <span class="comment">// skips to the begin-point, we loose the index or have to recalculate it)</span>
+<a name="l00222"></a>00222 <span class="comment">// So we mimic it here</span>
+<a name="l00223"></a>00223 range1_iterator it1, end1;
+<a name="l00224"></a>00224 <a class="code" href="group__sectionalize.html#g5c0732d32eb6c6154f615b3a3337f4b9" title="Get iterators for a specified section.">get_section</a>(geometry1, sec1, it1, end1);
+<a name="l00225"></a>00225
+<a name="l00226"></a>00226 <span class="comment">// Mimic 1: Skip to point such that section interects other box</span>
+<a name="l00227"></a>00227 range1_iterator prev1 = it1++;
+<a name="l00228"></a>00228 <span class="keywordflow">for</span>(; it1 != end1 &amp;&amp; preceding&lt;0&gt;(dir1, *it1, sec2.bounding_box);
+<a name="l00229"></a>00229 prev1 = it1++, index1++, ndi1++)
+<a name="l00230"></a>00230 {
+<a name="l00231"></a>00231 }
+<a name="l00232"></a>00232 <span class="comment">// Go back one step because we want to start completely preceding</span>
+<a name="l00233"></a>00233 it1 = prev1;
+<a name="l00234"></a>00234
+<a name="l00235"></a>00235 <span class="comment">// Walk through section and stop if we exceed the other box</span>
+<a name="l00236"></a>00236 <span class="keywordflow">for</span> (prev1 = it1++;
+<a name="l00237"></a>00237 it1 != end1 &amp;&amp; ! exceeding&lt;0&gt;(dir1, *prev1, sec2.bounding_box);
+<a name="l00238"></a>00238 prev1 = it1++, index1++, ndi1++)
+<a name="l00239"></a>00239 {
+<a name="l00240"></a>00240 segment1_type s1(*prev1, *it1);
+<a name="l00241"></a>00241
+<a name="l00242"></a>00242 <span class="keywordtype">int</span> index2 = sec2.begin_index;
+<a name="l00243"></a>00243 <span class="keywordtype">int</span> ndi2 = sec2.non_duplicate_index;
+<a name="l00244"></a>00244
+<a name="l00245"></a>00245 range2_iterator it2, end2;
+<a name="l00246"></a>00246 <a class="code" href="group__sectionalize.html#g5c0732d32eb6c6154f615b3a3337f4b9" 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
+<a name="l00250"></a>00250 <span class="comment">// Mimic 2:</span>
+<a name="l00251"></a>00251 <span class="keywordflow">for</span>(; it2 != end2 &amp;&amp; preceding&lt;0&gt;(dir2, *it2, sec1.bounding_box);
+<a name="l00252"></a>00252 prev2 = it2++, index2++, ndi2++)
+<a name="l00253"></a>00253 {
+<a name="l00254"></a>00254 }
+<a name="l00255"></a>00255 it2 = prev2;
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257 <span class="keywordflow">for</span> (prev2 = it2++;
+<a name="l00258"></a>00258 it2 != end2 &amp;&amp; ! exceeding&lt;0&gt;(dir2, *prev2, sec1.bounding_box);
+<a name="l00259"></a>00259 prev2 = it2++, index2++, ndi2++)
+<a name="l00260"></a>00260 {
+<a name="l00261"></a>00261 <span class="keywordtype">bool</span> skip = same_source;
+<a name="l00262"></a>00262 <span class="keywordflow">if</span> (skip)
+<a name="l00263"></a>00263 {
+<a name="l00264"></a>00264 <span class="comment">// If sources are the same (possibly self-intersecting):</span>
+<a name="l00265"></a>00265 <span class="comment">// check if it is a neighbouring sement.</span>
+<a name="l00266"></a>00266 <span class="comment">// (including first-last segment</span>
+<a name="l00267"></a>00267 <span class="comment">// and two segments with one or more degenerate/duplicate</span>
+<a name="l00268"></a>00268 <span class="comment">// (zero-length) segments in between)</span>
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270 <span class="comment">// Also skip if index1 &lt; index2 to avoid getting all</span>
+<a name="l00271"></a>00271 <span class="comment">// intersections twice (only do this on same source!)</span>
+<a name="l00272"></a>00272
+<a name="l00273"></a>00273 <span class="comment">// About n-2:</span>
+<a name="l00274"></a>00274 <span class="comment">// (square: range_count=5, indices 0,1,2,3</span>
+<a name="l00275"></a>00275 <span class="comment">// -&gt; 0-3 are adjacent)</span>
+<a name="l00276"></a>00276 skip = index2 &gt;= index1
+<a name="l00277"></a>00277 || ndi1 == ndi2 + 1
+<a name="l00278"></a>00278 || (index2 == 0 &amp;&amp; index1 &gt;= int(sec1.range_count) - 2)
+<a name="l00279"></a>00279 ;
+<a name="l00280"></a>00280 }
+<a name="l00281"></a>00281
+<a name="l00282"></a>00282 <span class="keywordflow">if</span> (! skip)
+<a name="l00283"></a>00283 {
+<a name="l00284"></a>00284 <span class="keywordflow">if</span> (relate&lt;segment1_type, segment2_type, IntersectionPoints&gt;
+<a name="l00285"></a>00285 ::apply(s1, segment2_type(*prev2, *it2),
+<a name="l00286"></a>00286 segment_identifier(source_id1,
+<a name="l00287"></a>00287 sec1.multi_index, sec1.ring_index, index1),
+<a name="l00288"></a>00288 segment_identifier(source_id2,
+<a name="l00289"></a>00289 sec2.multi_index, sec2.ring_index, index2),
+<a name="l00290"></a>00290 intersection_points, trivial)
+<a name="l00291"></a>00291 &amp;&amp; return_if_found)
+<a name="l00292"></a>00292 {
+<a name="l00293"></a>00293 <span class="keywordflow">return</span>;
+<a name="l00294"></a>00294 }
+<a name="l00295"></a>00295 }
+<a name="l00296"></a>00296 }
+<a name="l00297"></a>00297 }
+<a name="l00298"></a>00298 }
+<a name="l00299"></a>00299
+<a name="l00300"></a>00300
+<a name="l00301"></a>00301 <span class="keyword">private</span> :
+<a name="l00302"></a>00302 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;Geometry1&gt;::type</a> point1_type;
+<a name="l00303"></a>00303 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;Geometry2&gt;::type</a> point2_type;
+<a name="l00304"></a>00304 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">ggl::segment&lt;const point1_type&gt;</a> segment1_type;
+<a name="l00305"></a>00305 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">ggl::segment&lt;const point2_type&gt;</a> segment2_type;
+<a name="l00306"></a>00306
+<a name="l00307"></a>00307
+<a name="l00308"></a>00308 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Dim, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Box&gt;
+<a name="l00309"></a>00309 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> preceding(<span class="keywordtype">int</span> dir, Point <span class="keyword">const</span>&amp; point, Box <span class="keyword">const</span>&amp; box)
+<a name="l00310"></a>00310 {
+<a name="l00311"></a>00311 <span class="keywordflow">return</span> (dir == 1 &amp;&amp; get&lt;Dim&gt;(point) &lt; get&lt;min_corner, Dim&gt;(box))
+<a name="l00312"></a>00312 || (dir == -1 &amp;&amp; get&lt;Dim&gt;(point) &gt; get&lt;max_corner, Dim&gt;(box));
+<a name="l00313"></a>00313 }
+<a name="l00314"></a>00314
+<a name="l00315"></a>00315 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> Dim, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Box&gt;
+<a name="l00316"></a>00316 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> exceeding(<span class="keywordtype">int</span> dir, Point <span class="keyword">const</span>&amp; point, Box <span class="keyword">const</span>&amp; box)
+<a name="l00317"></a>00317 {
+<a name="l00318"></a>00318 <span class="keywordflow">return</span> (dir == 1 &amp;&amp; get&lt;Dim&gt;(point) &gt; get&lt;max_corner, Dim&gt;(box))
+<a name="l00319"></a>00319 || (dir == -1 &amp;&amp; get&lt;Dim&gt;(point) &lt; get&lt;min_corner, Dim&gt;(box));
+<a name="l00320"></a>00320 }
+<a name="l00321"></a>00321
+<a name="l00322"></a>00322
+<a name="l00323"></a>00323 };
+<a name="l00324"></a>00324
+<a name="l00325"></a>00325
+<a name="l00326"></a>00326 <span class="keyword">template</span>
+<a name="l00327"></a>00327 &lt;
+<a name="l00328"></a>00328 <span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Box,
+<a name="l00329"></a>00329 <span class="keyword">typename</span> Section1, <span class="keyword">typename</span> Section2,
+<a name="l00330"></a>00330 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00331"></a>00331 &gt;
+<a name="l00332"></a>00332 <span class="keyword">class </span>get_ips_range_box
+<a name="l00333"></a>00333 {
+<a name="l00334"></a>00334 <span class="keyword">public</span> :
+<a name="l00335"></a>00335 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(
+<a name="l00336"></a>00336 std::size_t source_id1, Ring <span class="keyword">const</span>&amp; ring,
+<a name="l00337"></a>00337 std::size_t source_id2, Box <span class="keyword">const</span>&amp; box,
+<a name="l00338"></a>00338 Section1 <span class="keyword">const</span>&amp; sec1, Section2 <span class="keyword">const</span>&amp; sec2,
+<a name="l00339"></a>00339 IntersectionPoints&amp; intersection_points, <span class="keywordtype">bool</span>&amp; trivial)
+<a name="l00340"></a>00340 {
+<a name="l00341"></a>00341 get_ips_in_sections&lt;Ring, Box, Section1, Section2, IntersectionPoints&gt;
+<a name="l00342"></a>00342 ::apply(
+<a name="l00343"></a>00343 source_id1, ring, sec1,
+<a name="l00344"></a>00344 source_id2, box, sec2,
+<a name="l00345"></a>00345 <span class="keyword">false</span>,
+<a name="l00346"></a>00346 intersection_points, trivial);
+<a name="l00347"></a>00347 }
+<a name="l00348"></a>00348 };
+<a name="l00349"></a>00349
+<a name="l00350"></a>00350
+<a name="l00351"></a>00351
+<a name="l00352"></a>00352
+<a name="l00353"></a>00353 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00354"></a>00354 <span class="keyword">struct </span>get_ips_generic
+<a name="l00355"></a>00355 {
+<a name="l00356"></a>00356 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(
+<a name="l00357"></a>00357 std::size_t source_id1, Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00358"></a>00358 std::size_t source_id2, Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00359"></a>00359 IntersectionPoints&amp; intersection_points)
+<a name="l00360"></a>00360 {
+<a name="l00361"></a>00361 <span class="comment">// Create monotonic sections in ONE direction</span>
+<a name="l00362"></a>00362 <span class="comment">// - in most cases ONE direction is faster (e.g. ~1% faster for the NLP4 testset)</span>
+<a name="l00363"></a>00363 <span class="comment">// - the sections now have a limit (default 10) so will not be too large</span>
+<a name="l00364"></a>00364 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">ggl::sections</a>
+<a name="l00365"></a>00365 &lt;
+<a name="l00366"></a>00366 <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box &lt; typename ggl::point_type&lt;Geometry1&gt;::type</a> &gt;, 1
+<a name="l00367"></a>00367 &gt; sections1_type;
+<a name="l00368"></a>00368 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">ggl::sections</a>
+<a name="l00369"></a>00369 &lt;
+<a name="l00370"></a>00370 <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box &lt; typename ggl::point_type&lt;Geometry2&gt;::type</a> &gt;, 1
+<a name="l00371"></a>00371 &gt; sections2_type;
+<a name="l00372"></a>00372
+<a name="l00373"></a>00373 sections1_type sec1;
+<a name="l00374"></a>00374 sections2_type sec2;
+<a name="l00375"></a>00375
+<a name="l00376"></a>00376 <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">ggl::sectionalize</a>(geometry1, sec1);
+<a name="l00377"></a>00377 <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">ggl::sectionalize</a>(geometry2, sec2);
+<a name="l00378"></a>00378
+<a name="l00379"></a>00379 <span class="keywordtype">bool</span> trivial = <span class="keyword">true</span>;
+<a name="l00380"></a>00380 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;sections1_type&gt;::type
+<a name="l00381"></a>00381 it1 = sec1.begin();
+<a name="l00382"></a>00382 it1 != sec1.end();
+<a name="l00383"></a>00383 ++it1)
+<a name="l00384"></a>00384 {
+<a name="l00385"></a>00385 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;sections2_type&gt;::type
+<a name="l00386"></a>00386 it2 = sec2.begin();
+<a name="l00387"></a>00387 it2 != sec2.end();
+<a name="l00388"></a>00388 ++it2)
+<a name="l00389"></a>00389 {
+<a name="l00390"></a>00390 <span class="keywordflow">if</span> (! <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">ggl::disjoint</a>(it1-&gt;bounding_box, it2-&gt;bounding_box))
+<a name="l00391"></a>00391 {
+<a name="l00392"></a>00392 get_ips_in_sections
+<a name="l00393"></a>00393 &lt;
+<a name="l00394"></a>00394 Geometry1,
+<a name="l00395"></a>00395 Geometry2,
+<a name="l00396"></a>00396 <span class="keyword">typename</span> boost::range_value&lt;sections1_type&gt;::type,
+<a name="l00397"></a>00397 <span class="keyword">typename</span> boost::range_value&lt;sections2_type&gt;::type,
+<a name="l00398"></a>00398 IntersectionPoints
+<a name="l00399"></a>00399 &gt;::apply(
+<a name="l00400"></a>00400 source_id1, geometry1, *it1,
+<a name="l00401"></a>00401 source_id2, geometry2, *it2,
+<a name="l00402"></a>00402 <span class="keyword">false</span>,
+<a name="l00403"></a>00403 intersection_points, trivial);
+<a name="l00404"></a>00404 }
+<a name="l00405"></a>00405 }
+<a name="l00406"></a>00406 }
+<a name="l00407"></a>00407 <span class="keywordflow">return</span> trivial;
+<a name="l00408"></a>00408 }
+<a name="l00409"></a>00409 };
+<a name="l00410"></a>00410
+<a name="l00411"></a>00411
+<a name="l00412"></a>00412
+<a name="l00413"></a>00413 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00414"></a>00414 <span class="keyword">struct </span>get_ips_cs
+<a name="l00415"></a>00415 {
+<a name="l00416"></a>00416 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::size_t source_id1, Range <span class="keyword">const</span>&amp; range,
+<a name="l00417"></a>00417 <span class="keywordtype">int</span> multi_index, <span class="keywordtype">int</span> ring_index,
+<a name="l00418"></a>00418 std::size_t source_id2, Box <span class="keyword">const</span>&amp; box,
+<a name="l00419"></a>00419 IntersectionPoints&amp; intersection_points,
+<a name="l00420"></a>00420 <span class="keywordtype">bool</span>&amp; trivial)
+<a name="l00421"></a>00421 {
+<a name="l00422"></a>00422 <span class="keywordflow">if</span> (boost::size(range) &lt;= 1)
+<a name="l00423"></a>00423 {
+<a name="l00424"></a>00424 <span class="keywordflow">return</span>;
+<a name="l00425"></a>00425 }
+<a name="l00426"></a>00426
+<a name="l00427"></a>00427
+<a name="l00428"></a>00428 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;Box&gt;::type</a> box_point_type;
+<a name="l00429"></a>00429 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;Range&gt;::type</a> point_type;
+<a name="l00430"></a>00430
+<a name="l00431"></a>00431 <span class="keyword">typedef</span> segment&lt;const box_point_type&gt; box_segment_type;
+<a name="l00432"></a>00432 <span class="keyword">typedef</span> segment&lt;const point_type&gt; segment_type;
+<a name="l00433"></a>00433
+<a name="l00434"></a>00434 point_type lower_left, upper_left, lower_right, upper_right;
+<a name="l00435"></a>00435 <a class="code" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271" title="Assign the 4 points of a 2D box.">assign_box_corners</a>(box, lower_left, lower_right, upper_left, upper_right);
+<a name="l00436"></a>00436
+<a name="l00437"></a>00437 box_segment_type left(lower_left, upper_left);
+<a name="l00438"></a>00438 box_segment_type top(upper_left, upper_right);
+<a name="l00439"></a>00439 box_segment_type right(upper_right, lower_right);
+<a name="l00440"></a>00440 box_segment_type bottom(lower_right, lower_left);
+<a name="l00441"></a>00441
+<a name="l00442"></a>00442
+<a name="l00443"></a>00443 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type iterator_type;
+<a name="l00444"></a>00444 iterator_type it = boost::begin(range);
+<a name="l00445"></a>00445
+<a name="l00446"></a>00446 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+<a name="l00447"></a>00447
+<a name="l00448"></a>00448 <span class="keywordtype">char</span> previous_side[2] = {0, 0};
+<a name="l00449"></a>00449
+<a name="l00450"></a>00450 <span class="keywordtype">int</span> index = 0;
+<a name="l00451"></a>00451
+<a name="l00452"></a>00452 <span class="keywordflow">for</span> (iterator_type prev = it++;
+<a name="l00453"></a>00453 it != boost::end(range);
+<a name="l00454"></a>00454 prev = it++, index++)
+<a name="l00455"></a>00455 {
+<a name="l00456"></a>00456 segment_type segment(*prev, *it);
+<a name="l00457"></a>00457
+<a name="l00458"></a>00458 <span class="keywordflow">if</span> (first)
+<a name="l00459"></a>00459 {
+<a name="l00460"></a>00460 previous_side[0] = get_side&lt;0&gt;(box, *prev);
+<a name="l00461"></a>00461 previous_side[1] = get_side&lt;1&gt;(box, *prev);
+<a name="l00462"></a>00462 }
+<a name="l00463"></a>00463
+<a name="l00464"></a>00464 <span class="keywordtype">char</span> current_side[2];
+<a name="l00465"></a>00465 current_side[0] = get_side&lt;0&gt;(box, *it);
+<a name="l00466"></a>00466 current_side[1] = get_side&lt;1&gt;(box, *it);
+<a name="l00467"></a>00467
+<a name="l00468"></a>00468 <span class="comment">// There can NOT be intersections if</span>
+<a name="l00469"></a>00469 <span class="comment">// 1) EITHER the two points are lying on one side of the box (! 0 &amp;&amp; the same)</span>
+<a name="l00470"></a>00470 <span class="comment">// 2) OR same in Y-direction</span>
+<a name="l00471"></a>00471 <span class="comment">// 3) OR all points are inside the box (0)</span>
+<a name="l00472"></a>00472 <span class="keywordflow">if</span> (! (
+<a name="l00473"></a>00473 (current_side[0] != 0 &amp;&amp; current_side[0] == previous_side[0])
+<a name="l00474"></a>00474 || (current_side[1] != 0 &amp;&amp; current_side[1] == previous_side[1])
+<a name="l00475"></a>00475 || (current_side[0] == 0
+<a name="l00476"></a>00476 &amp;&amp; current_side[1] == 0
+<a name="l00477"></a>00477 &amp;&amp; previous_side[0] == 0
+<a name="l00478"></a>00478 &amp;&amp; previous_side[1] == 0)
+<a name="l00479"></a>00479 )
+<a name="l00480"></a>00480 )
+<a name="l00481"></a>00481 {
+<a name="l00482"></a>00482 segment_identifier seg_id(source_id1,
+<a name="l00483"></a>00483 multi_index, ring_index, index);
+<a name="l00484"></a>00484
+<a name="l00485"></a>00485 <span class="keyword">typedef</span> relate
+<a name="l00486"></a>00486 &lt;
+<a name="l00487"></a>00487 segment_type, box_segment_type, IntersectionPoints
+<a name="l00488"></a>00488 &gt; relater;
+<a name="l00489"></a>00489
+<a name="l00490"></a>00490 <span class="comment">// Todo: depending on code some relations can be left out</span>
+<a name="l00491"></a>00491 relater::apply(segment, left, seg_id,
+<a name="l00492"></a>00492 segment_identifier(source_id2, -1, -1, 0),
+<a name="l00493"></a>00493 intersection_points, trivial);
+<a name="l00494"></a>00494 relater::apply(segment, top, seg_id,
+<a name="l00495"></a>00495 segment_identifier(source_id2, -1, -1, 1),
+<a name="l00496"></a>00496 intersection_points, trivial);
+<a name="l00497"></a>00497 relater::apply(segment, right, seg_id,
+<a name="l00498"></a>00498 segment_identifier(source_id2, -1, -1, 2),
+<a name="l00499"></a>00499 intersection_points, trivial);
+<a name="l00500"></a>00500 relater::apply(segment, bottom, seg_id,
+<a name="l00501"></a>00501 segment_identifier(source_id2, -1, -1, 3),
+<a name="l00502"></a>00502 intersection_points, trivial);
+<a name="l00503"></a>00503
+<a name="l00504"></a>00504 }
+<a name="l00505"></a>00505 }
+<a name="l00506"></a>00506 }
+<a name="l00507"></a>00507
+<a name="l00508"></a>00508
+<a name="l00509"></a>00509 <span class="keyword">template</span>&lt;std::<span class="keywordtype">size_t</span> Index, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00510"></a>00510 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> get_side(Box <span class="keyword">const</span>&amp; box, Point <span class="keyword">const</span>&amp; point)
+<a name="l00511"></a>00511 {
+<a name="l00512"></a>00512 <span class="comment">// Note: border has to be included because of boundary cases</span>
+<a name="l00513"></a>00513
+<a name="l00514"></a>00514 <span class="keywordflow">if</span> (get&lt;Index&gt;(point) &lt;= get&lt;min_corner, Index&gt;(box)) <span class="keywordflow">return</span> -1;
+<a name="l00515"></a>00515 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (get&lt;Index&gt;(point) &gt;= get&lt;max_corner, Index&gt;(box)) <span class="keywordflow">return</span> 1;
+<a name="l00516"></a>00516 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00517"></a>00517 }
+<a name="l00518"></a>00518
+<a name="l00519"></a>00519
+<a name="l00520"></a>00520 };
+<a name="l00521"></a>00521
+<a name="l00522"></a>00522
+<a name="l00523"></a>00523 }} <span class="comment">// namespace detail::get_intersection_points</span>
+<a name="l00524"></a>00524 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00525"></a>00525 <span class="preprocessor"></span>
+<a name="l00526"></a>00526
+<a name="l00527"></a>00527 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00528"></a>00528 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00529"></a>00529 {
+<a name="l00530"></a>00530
+<a name="l00531"></a>00531 <span class="keyword">template</span>
+<a name="l00532"></a>00532 &lt;
+<a name="l00533"></a>00533 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00534"></a>00534 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
+<a name="l00535"></a>00535 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
+<a name="l00536"></a>00536 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00537"></a>00537
+<a name="l00538"></a>00538 &gt;
+<a name="l00539"></a>00539 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
+<a name="l00540"></a>00540 {
+<a name="l00541"></a>00541 };
+<a name="l00542"></a>00542
+<a name="l00543"></a>00543
+<a name="l00544"></a>00544 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00545"></a>00545 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
+<a name="l00546"></a>00546 &lt;
+<a name="l00547"></a>00547 polygon_tag, box_tag, false, false,
+<a name="l00548"></a>00548 Polygon, Box,
+<a name="l00549"></a>00549 IntersectionPoints
+<a name="l00550"></a>00550 &gt;
+<a name="l00551"></a>00551 {
+<a name="l00552"></a>00552
+<a name="l00553"></a>00553 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(
+<a name="l00554"></a>00554 std::size_t source_id1, Polygon <span class="keyword">const</span>&amp; polygon,
+<a name="l00555"></a>00555 std::size_t source_id2, Box <span class="keyword">const</span>&amp; box,
+<a name="l00556"></a>00556 IntersectionPoints&amp; intersection_points)
+<a name="l00557"></a>00557 {
+<a name="l00558"></a>00558 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type&lt;Polygon&gt;::type</a> ring_type;
+<a name="l00559"></a>00559
+<a name="l00560"></a>00560 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00561"></a>00561 &lt;
+<a name="l00562"></a>00562 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00563"></a>00563 &gt;::type iterator_type;
+<a name="l00564"></a>00564
+<a name="l00565"></a>00565
+<a name="l00566"></a>00566 <span class="keyword">typedef</span> detail::get_intersection_points::get_ips_cs
+<a name="l00567"></a>00567 &lt;ring_type, Box, IntersectionPoints&gt; intersector_type;
+<a name="l00568"></a>00568
+<a name="l00569"></a>00569 <span class="keywordtype">bool</span> trivial = <span class="keyword">true</span>;
+<a name="l00570"></a>00570 intersector_type::apply(
+<a name="l00571"></a>00571 source_id1, <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon), -1, -1,
+<a name="l00572"></a>00572 source_id2, box,
+<a name="l00573"></a>00573 intersection_points, trivial);
+<a name="l00574"></a>00574
+<a name="l00575"></a>00575 <span class="keywordtype">int</span> i = 0;
+<a name="l00576"></a>00576 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00577"></a>00577 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00578"></a>00578 ++it, ++i)
+<a name="l00579"></a>00579 {
+<a name="l00580"></a>00580 intersector_type::apply(
+<a name="l00581"></a>00581 source_id1, *it, -1, i,
+<a name="l00582"></a>00582 source_id2, box, intersection_points, trivial);
+<a name="l00583"></a>00583 }
+<a name="l00584"></a>00584
+<a name="l00585"></a>00585 <span class="keywordflow">return</span> trivial;
+<a name="l00586"></a>00586 }
+<a name="l00587"></a>00587 };
+<a name="l00588"></a>00588
+<a name="l00589"></a>00589 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Ring1, <span class="keyword">typename</span> Ring2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00590"></a>00590 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
+<a name="l00591"></a>00591 &lt;
+<a name="l00592"></a>00592 ring_tag, ring_tag, false, false,
+<a name="l00593"></a>00593 Ring1, Ring2,
+<a name="l00594"></a>00594 IntersectionPoints
+<a name="l00595"></a>00595 &gt;
+<a name="l00596"></a>00596 : detail::<a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>::get_ips_generic
+<a name="l00597"></a>00597 &lt;
+<a name="l00598"></a>00598 Ring1,
+<a name="l00599"></a>00599 Ring2,
+<a name="l00600"></a>00600 IntersectionPoints
+<a name="l00601"></a>00601 &gt;
+<a name="l00602"></a>00602 {};
+<a name="l00603"></a>00603
+<a name="l00604"></a>00604
+<a name="l00605"></a>00605 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00606"></a>00606 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
+<a name="l00607"></a>00607 &lt;
+<a name="l00608"></a>00608 polygon_tag, polygon_tag, false, false,
+<a name="l00609"></a>00609 Polygon1, Polygon2,
+<a name="l00610"></a>00610 IntersectionPoints
+<a name="l00611"></a>00611 &gt;
+<a name="l00612"></a>00612 : detail::<a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>::get_ips_generic
+<a name="l00613"></a>00613 &lt;
+<a name="l00614"></a>00614 Polygon1,
+<a name="l00615"></a>00615 Polygon2,
+<a name="l00616"></a>00616 IntersectionPoints
+<a name="l00617"></a>00617 &gt;
+<a name="l00618"></a>00618 {};
+<a name="l00619"></a>00619
+<a name="l00620"></a>00620 <span class="keyword">template</span>
+<a name="l00621"></a>00621 &lt;
+<a name="l00622"></a>00622 <span class="keyword">typename</span> LineString1,
+<a name="l00623"></a>00623 <span class="keyword">typename</span> LineString2,
+<a name="l00624"></a>00624 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00625"></a>00625 &gt;
+<a name="l00626"></a>00626 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
+<a name="l00627"></a>00627 &lt;
+<a name="l00628"></a>00628 linestring_tag, linestring_tag, false, false,
+<a name="l00629"></a>00629 LineString1, LineString2,
+<a name="l00630"></a>00630 IntersectionPoints
+<a name="l00631"></a>00631 &gt;
+<a name="l00632"></a>00632 : detail::<a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>::get_ips_generic
+<a name="l00633"></a>00633 &lt;
+<a name="l00634"></a>00634 LineString1,
+<a name="l00635"></a>00635 LineString2,
+<a name="l00636"></a>00636 IntersectionPoints
+<a name="l00637"></a>00637 &gt;
+<a name="l00638"></a>00638 {};
+<a name="l00639"></a>00639
+<a name="l00640"></a>00640 <span class="keyword">template</span>
+<a name="l00641"></a>00641 &lt;
+<a name="l00642"></a>00642 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00643"></a>00643 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
+<a name="l00644"></a>00644 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
+<a name="l00645"></a>00645 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00646"></a>00646 &gt;
+<a name="l00647"></a>00647 <span class="keyword">struct </span>get_intersection_points_reversed
+<a name="l00648"></a>00648 {
+<a name="l00649"></a>00649 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(
+<a name="l00650"></a>00650 std::size_t source_id1, Geometry1 <span class="keyword">const</span>&amp; g1,
+<a name="l00651"></a>00651 std::size_t source_id2, Geometry2 <span class="keyword">const</span>&amp; g2,
+<a name="l00652"></a>00652 IntersectionPoints&amp; intersection_points)
+<a name="l00653"></a>00653 {
+<a name="l00654"></a>00654 <span class="keywordflow">return</span> <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
+<a name="l00655"></a>00655 &lt;
+<a name="l00656"></a>00656 GeometryTag2, GeometryTag1,
+<a name="l00657"></a>00657 IsMulti2, IsMulti1,
+<a name="l00658"></a>00658 Geometry2, Geometry1,
+<a name="l00659"></a>00659 IntersectionPoints
+<a name="l00660"></a>00660 &gt;::apply(source_id2, g2, source_id1, g1, intersection_points);
+<a name="l00661"></a>00661 }
+<a name="l00662"></a>00662 };
+<a name="l00663"></a>00663
+<a name="l00664"></a>00664
+<a name="l00665"></a>00665 } <span class="comment">// namespace dispatch</span>
+<a name="l00666"></a>00666 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00667"></a>00667 <span class="preprocessor"></span>
+<a name="l00668"></a>00668
+<a name="l00669"></a>00669
+<a name="l00681"></a>00681 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00682"></a><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9">00682</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00683"></a>00683 Geometry2 <span class="keyword">const</span>&amp; geometry2, IntersectionPoints&amp; intersection_points)
+<a name="l00684"></a>00684 {
+<a name="l00685"></a>00685 assert_dimension_equal&lt;Geometry1, Geometry2&gt;();
+<a name="l00686"></a>00686
+<a name="l00687"></a>00687 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry1&gt;::type ncg1_type;
+<a name="l00688"></a>00688 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry2&gt;::type ncg2_type;
+<a name="l00689"></a>00689
+<a name="l00690"></a>00690 <span class="keywordflow">return</span> boost::mpl::if_c
+<a name="l00691"></a>00691 &lt;
+<a name="l00692"></a>00692 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch&lt;Geometry1, Geometry2&gt;::type::value</a>,
+<a name="l00693"></a>00693 dispatch::get_intersection_points_reversed
+<a name="l00694"></a>00694 &lt;
+<a name="l00695"></a>00695 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;ncg1_type&gt;::type</a>,
+<a name="l00696"></a>00696 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;ncg2_type&gt;::type</a>,
+<a name="l00697"></a>00697 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;ncg1_type&gt;::type::value</a>,
+<a name="l00698"></a>00698 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;ncg2_type&gt;::type::value</a>,
+<a name="l00699"></a>00699 ncg1_type,
+<a name="l00700"></a>00700 ncg2_type,
+<a name="l00701"></a>00701 IntersectionPoints
+<a name="l00702"></a>00702 &gt;,
+<a name="l00703"></a>00703 <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">dispatch::get_intersection_points</a>
+<a name="l00704"></a>00704 &lt;
+<a name="l00705"></a>00705 <span class="keyword">typename</span> tag&lt;ncg1_type&gt;::type,
+<a name="l00706"></a>00706 <span class="keyword">typename</span> tag&lt;ncg2_type&gt;::type,
+<a name="l00707"></a>00707 is_multi&lt;ncg1_type&gt;::type::value,
+<a name="l00708"></a>00708 is_multi&lt;ncg2_type&gt;::type::value,
+<a name="l00709"></a>00709 ncg1_type,
+<a name="l00710"></a>00710 ncg2_type,
+<a name="l00711"></a>00711 IntersectionPoints
+<a name="l00712"></a>00712 &gt;
+<a name="l00713"></a>00713 &gt;::type::apply(
+<a name="l00714"></a>00714 0, geometry1,
+<a name="l00715"></a>00715 1, geometry2,
+<a name="l00716"></a>00716 intersection_points);
+<a name="l00717"></a>00717 }
+<a name="l00718"></a>00718
+<a name="l00719"></a>00719
+<a name="l00720"></a>00720 } <span class="comment">// namespace ggl</span>
+<a name="l00721"></a>00721
+<a name="l00722"></a>00722 <span class="preprocessor">#endif // GGL_ALGORITHMS_GET_INTERSECTION_POINTS_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">File Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current">All</li>
+ <li>Defines</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all file members with links to the files they belong to:
+<p>
+<ul>
+<li>BOOST_UBLAS_TYPE_CHECK
+: <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
+: <a class="el" href="register_2box_8hpp.html#b89014f5b050a89c7ac1128c2fdf31bd">box.hpp</a>
+<li>GEOMETRY_REGISTER_BOX_TEMPLATIZED
+: <a class="el" href="register_2box_8hpp.html#bcf41d22a141a62e503e0e6d482a6201">box.hpp</a>
+<li>GEOMETRY_REGISTER_LINESTRING
+: <a class="el" href="register_2linestring_8hpp.html#9517765f50e3552d0029efb2fdd11c5c">linestring.hpp</a>
+<li>GEOMETRY_REGISTER_POINT_2D
+: <a class="el" href="register_2point_8hpp.html#14955651e3df068662a34944ca29764f">point.hpp</a>
+<li>GEOMETRY_REGISTER_POINT_2D_CONST
+: <a class="el" href="register_2point_8hpp.html#dae7297232bdaa4c6c569dcdb16209bf">point.hpp</a>
+<li>GEOMETRY_REGISTER_POINT_2D_GET_SET
+: <a class="el" href="register_2point_8hpp.html#1400081dc8c3320e31e0fb6ab3b777eb">point.hpp</a>
+<li>GEOMETRY_REGISTER_POINT_3D
+: <a class="el" href="register_2point_8hpp.html#3c77b4554aef1349e81be71035af3b64">point.hpp</a>
+<li>GEOMETRY_REGISTER_POINT_3D_CONST
+: <a class="el" href="register_2point_8hpp.html#bb96f6a00cda5806f0d7114f731ac971">point.hpp</a>
+<li>GEOMETRY_REGISTER_POINT_3D_GET_SET
+: <a class="el" href="register_2point_8hpp.html#505d8eb529cc02313bf107f59c8dcc65">point.hpp</a>
+<li>GEOMETRY_REGISTER_RING
+: <a class="el" href="ring_8hpp.html#a5379fd615408c2561920ca9a7bda2d3">ring.hpp</a>
+<li>GEOMETRY_REGISTER_RING_TEMPLATIZED
+: <a class="el" href="ring_8hpp.html#472ca0156e282ee3cd5d91ea5631776b">ring.hpp</a>
+<li>GGL_ADAPTED_BOOST_ARRAY_RANGE_TAG_DEFINED
+: <a class="el" href="boost__array__as__ring_8hpp.html#c19d11709bb4aad9bb66e96aa6293ebc">boost_array_as_ring.hpp</a>
+, <a class="el" href="boost__array__as__linestring_8hpp.html#c19d11709bb4aad9bb66e96aa6293ebc">boost_array_as_linestring.hpp</a>
+<li>GGL_ADAPTED_C_ARRAY_COORDINATE_SYSTEM_DEFINED
+: <a class="el" href="c__array__cartesian_8hpp.html#d3fd8e69849e849475bdea2eadf0ee0f">c_array_cartesian.hpp</a>
+<li>GGL_ADAPTED_STD_RANGE_TAG_DEFINED
+: <a class="el" href="std__as__ring_8hpp.html#70b04d571e8e10ba35ec9329a0e2b94d">std_as_ring.hpp</a>
+, <a class="el" href="std__as__linestring_8hpp.html#70b04d571e8e10ba35ec9329a0e2b94d">std_as_linestring.hpp</a>
+<li>GGL_ADAPTED_TUPLE_COORDINATE_SYSTEM_DEFINED
+: <a class="el" href="tuple__cartesian_8hpp.html#31dec549d310b8a6dee715ba486c7417">tuple_cartesian.hpp</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals_defs.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals_defs.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">File Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Defines</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>BOOST_UBLAS_TYPE_CHECK
+: <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
+: <a class="el" href="register_2box_8hpp.html#b89014f5b050a89c7ac1128c2fdf31bd">box.hpp</a>
+<li>GEOMETRY_REGISTER_BOX_TEMPLATIZED
+: <a class="el" href="register_2box_8hpp.html#bcf41d22a141a62e503e0e6d482a6201">box.hpp</a>
+<li>GEOMETRY_REGISTER_LINESTRING
+: <a class="el" href="register_2linestring_8hpp.html#9517765f50e3552d0029efb2fdd11c5c">linestring.hpp</a>
+<li>GEOMETRY_REGISTER_POINT_2D
+: <a class="el" href="register_2point_8hpp.html#14955651e3df068662a34944ca29764f">point.hpp</a>
+<li>GEOMETRY_REGISTER_POINT_2D_CONST
+: <a class="el" href="register_2point_8hpp.html#dae7297232bdaa4c6c569dcdb16209bf">point.hpp</a>
+<li>GEOMETRY_REGISTER_POINT_2D_GET_SET
+: <a class="el" href="register_2point_8hpp.html#1400081dc8c3320e31e0fb6ab3b777eb">point.hpp</a>
+<li>GEOMETRY_REGISTER_POINT_3D
+: <a class="el" href="register_2point_8hpp.html#3c77b4554aef1349e81be71035af3b64">point.hpp</a>
+<li>GEOMETRY_REGISTER_POINT_3D_CONST
+: <a class="el" href="register_2point_8hpp.html#bb96f6a00cda5806f0d7114f731ac971">point.hpp</a>
+<li>GEOMETRY_REGISTER_POINT_3D_GET_SET
+: <a class="el" href="register_2point_8hpp.html#505d8eb529cc02313bf107f59c8dcc65">point.hpp</a>
+<li>GEOMETRY_REGISTER_RING
+: <a class="el" href="ring_8hpp.html#a5379fd615408c2561920ca9a7bda2d3">ring.hpp</a>
+<li>GEOMETRY_REGISTER_RING_TEMPLATIZED
+: <a class="el" href="ring_8hpp.html#472ca0156e282ee3cd5d91ea5631776b">ring.hpp</a>
+<li>GGL_ADAPTED_BOOST_ARRAY_RANGE_TAG_DEFINED
+: <a class="el" href="boost__array__as__ring_8hpp.html#c19d11709bb4aad9bb66e96aa6293ebc">boost_array_as_ring.hpp</a>
+, <a class="el" href="boost__array__as__linestring_8hpp.html#c19d11709bb4aad9bb66e96aa6293ebc">boost_array_as_linestring.hpp</a>
+<li>GGL_ADAPTED_C_ARRAY_COORDINATE_SYSTEM_DEFINED
+: <a class="el" href="c__array__cartesian_8hpp.html#d3fd8e69849e849475bdea2eadf0ee0f">c_array_cartesian.hpp</a>
+<li>GGL_ADAPTED_STD_RANGE_TAG_DEFINED
+: <a class="el" href="std__as__ring_8hpp.html#70b04d571e8e10ba35ec9329a0e2b94d">std_as_ring.hpp</a>
+, <a class="el" href="std__as__linestring_8hpp.html#70b04d571e8e10ba35ec9329a0e2b94d">std_as_linestring.hpp</a>
+<li>GGL_ADAPTED_TUPLE_COORDINATE_SYSTEM_DEFINED
+: <a class="el" href="tuple__cartesian_8hpp.html#31dec549d310b8a6dee715ba486c7417">tuple_cartesian.hpp</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__access.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__access.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,1252 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>access: get/set coordinate values, make objects, clear geometries, append point(s)</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename RoP &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c">ggl::append</a> (G &amp;geometry, const RoP &amp;range_or_point, int ring_index=-1, int multi_index=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends one or more points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear-ring, <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, multi. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename R &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge87a43e061a27e450e01f00c228ed472">ggl::assign</a> (G &amp;geometry, R const &amp;range)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign a range of points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gc534d6dd298802a12265e7e9c1c25a01">ggl::assign</a> (G &amp;geometry, T const &amp;c1, T const &amp;c2, T const &amp;c3, T const &amp;c4)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign center + radius to a sphere <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g4e53af2d63f19a7550b5fe0156efc433">ggl::assign</a> (G &amp;geometry, T const &amp;c1, T const &amp;c2, T const &amp;c3)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign three values to a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or the center + radius to a circle <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge58b5c7b493d0112202dc139af200c73">ggl::assign</a> (G &amp;geometry, T const &amp;c1, T const &amp;c2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd">ggl::assign_inverse</a> (G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0">ggl::assign_zero</a> (G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign zero values to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f">ggl::clear</a> (G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (exterior+interiors) or multi*. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const ring_type&lt; P &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gf12f8fe7a53c5fc0fb45c2d24d0999c9">ggl::exterior_ring</a> (const P &amp;polygon)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the exterior ring 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> (const version). <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">ring_type&lt; P &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01">ggl::exterior_ring</a> (P &amp;polygon)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the exterior_ring ring 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>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gd3c007fcbae837d56d13aa77ed03f920">ggl::get</a> (const G &amp;geometry, detail::signature_getset_index_dimension *dummy=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> / <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">ggl::get</a> (const G &amp;geometry, detail::signature_getset_dimension *dummy=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> / <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8923ef58b174aa129ba64465cbcf95b5">ggl::get_as_radian</a> (const G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, result is in RADIAN <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">radius_type&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">ggl::get_radius</a> (const G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get radius. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const interior_type&lt; P &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ga81ef3b07a844489714e682f12e43746">ggl::interior_rings</a> (const P &amp;polygon)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the interior rings of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (const version). <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">interior_type&lt; P &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758">ggl::interior_rings</a> (P &amp;polygon)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the interior rings of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (non const version). <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g76b1eb0628944050f3f75472df289a1f">ggl::make</a> (T const &amp;c1, T const &amp;c2, T const &amp;c3)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa">ggl::make</a> (T const &amp;c1, T const &amp;c2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911">ggl::make_inverse</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with inverse infinite coordinates. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gb6c00a38f2e98ba4d83a04da43368071">ggl::make_zero</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a geometry with "zero" coordinates. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g0b185daa84fef7c96923751e087fbb21">ggl::num_interior_rings</a> (const P &amp;polygon)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the number of interior rings of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8d58faff2722b073b44c24f19577e267">ggl::num_points</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get number of points <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6ced3f6383c5e664984c54a36a1d78a2">ggl::set</a> (G &amp;geometry, const typename coordinate_type&lt; G &gt;::type &amp;value, detail::signature_getset_index_dimension *dummy=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign a coordinate value of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> / <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a">ggl::set</a> (G &amp;geometry, const typename coordinate_type&lt; G &gt;::type &amp;value, detail::signature_getset_dimension *dummy=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign coordinate value to a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> / sphere <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g9fcd126a3429823c1b684e0bae01c491">ggl::set_from_radian</a> (G &amp;geometry, const typename coordinate_type&lt; G &gt;::type &amp;radians)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign coordinate value (which is in <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>) to a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">ggl::set_radius</a> (G &amp;geometry, const typename radius_type&lt; G &gt;::type &amp;radius)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to set the radius of a circle / sphere / (ellipse). <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+There are many ways to edit geometries. It is possible to:<ul>
+<li>use the geometries themselves, so access point.x(). This is not done inside the library because it is agnostic to geometry type. However, library users can use this as it is intuitive.</li><li>use the standard library, so use .push_back(point) or use inserters. This is also avoided inside the library. However, library users can use it if they are used to the standard library</li><li>use the functionality provided in this geometry library. These are the functions in this module.</li></ul>
+<p>
+The library provides the following functions to edit geometries:<ul>
+<li>set to set one coordinate value</li><li>assign to set two or more coordinate values</li><li>make to construct and return geometries with specified coordinates.</li><li>append to append one or more points to a geometry</li><li>clear to remove all points from a geometry</li></ul>
+<p>
+For getting coordinates it is similar:<ul>
+<li>get to get a coordinate value</li><li>or use the standard library</li><li>or use the geometries themselves </li></ul>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g6cf833a7f9622af2fc05fd94aa61153f"></a><!-- doxytag: member="ggl::get" ref="g6cf833a7f9622af2fc05fd94aa61153f" args="(const G &amp;geometry, detail::signature_getset_dimension *dummy=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t D, typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">coordinate_type&lt;G&gt;::type ggl::get </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">detail::signature_getset_dimension *&nbsp;</td>
+ <td class="paramname"> <em>dummy</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> / <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a>
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>coordinate value</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>D</em>&nbsp;</td><td><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> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>G</em>&nbsp;</td><td>geometry </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>&nbsp;</td><td>geometry to get coordinate value from </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>dummy</em>&nbsp;</td><td>does not have to be specified </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="07__graph__route__example_8cpp-example.html#a5">07_graph_route_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00182">182</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g411ad2eab588e3fa0f0a3d35c79cbb4a"></a><!-- doxytag: member="ggl::set" ref="g411ad2eab588e3fa0f0a3d35c79cbb4a" args="(G &amp;geometry, const typename coordinate_type&lt; G &gt;::type &amp;value, detail::signature_getset_dimension *dummy=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t D, typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::set </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const typename coordinate_type&lt; G &gt;::type &amp;&nbsp;</td>
+ <td class="paramname"> <em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">detail::signature_getset_dimension *&nbsp;</td>
+ <td class="paramname"> <em>dummy</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+assign coordinate value to a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> / sphere
+<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>D</em>&nbsp;</td><td><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> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>G</em>&nbsp;</td><td>geometry </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>&nbsp;</td><td>geometry to assign coordinate to </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>coordinate value to assign </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>dummy</em>&nbsp;</td><td>does not have to be specified </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00211">211</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gd3c007fcbae837d56d13aa77ed03f920"></a><!-- doxytag: member="ggl::get" ref="gd3c007fcbae837d56d13aa77ed03f920" args="(const G &amp;geometry, detail::signature_getset_index_dimension *dummy=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t I, std::size_t D, typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">coordinate_type&lt;G&gt;::type ggl::get </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">detail::signature_getset_index_dimension *&nbsp;</td>
+ <td class="paramname"> <em>dummy</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+get a coordinate value of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> / <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>coordinate value</dd></dl>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>I</em>&nbsp;</td><td>index, for boxes: min_corner or max_corner. For <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>: 0 / 1 </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>D</em>&nbsp;</td><td><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> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>G</em>&nbsp;</td><td>geometry </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>&nbsp;</td><td>geometry to get coordinate value from </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>dummy</em>&nbsp;</td><td>does not have to be specified </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00242">242</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g6ced3f6383c5e664984c54a36a1d78a2"></a><!-- doxytag: member="ggl::set" ref="g6ced3f6383c5e664984c54a36a1d78a2" args="(G &amp;geometry, const typename coordinate_type&lt; G &gt;::type &amp;value, detail::signature_getset_index_dimension *dummy=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t I, std::size_t D, typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::set </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const typename coordinate_type&lt; G &gt;::type &amp;&nbsp;</td>
+ <td class="paramname"> <em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">detail::signature_getset_index_dimension *&nbsp;</td>
+ <td class="paramname"> <em>dummy</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+assign a coordinate value of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> / <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</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>I</em>&nbsp;</td><td>index, for boxes: min_corner or max_corner. For <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>: 0 / 1 </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>D</em>&nbsp;</td><td><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> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>G</em>&nbsp;</td><td>geometry </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>&nbsp;</td><td>geometry to assign coordinate to </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>coordinate value to assign </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>dummy</em>&nbsp;</td><td>does not have to be specified </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00272">272</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gf92470d0612da7f0e118d296e7fcfe01"></a><!-- doxytag: member="ggl::exterior_ring" ref="gf92470d0612da7f0e118d296e7fcfe01" args="(P &amp;polygon)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">ring_type&lt;P&gt;::type&amp; ggl::exterior_ring </td>
+ <td>(</td>
+ <td class="paramtype">P &amp;&nbsp;</td>
+ <td class="paramname"> <em>polygon</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Function to get the exterior_ring ring 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>.
+<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>OGC compliance: instead of ExteriorRing </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>&nbsp;</td><td><a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> 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><a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a></em>&nbsp;</td><td>the <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> to get the exterior ring from </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the exterior ring </dd></dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="03__polygon__example_8cpp-example.html#a15">03_polygon_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="exterior__ring_8hpp_source.html#l00077">77</a> of file <a class="el" href="exterior__ring_8hpp_source.html">exterior_ring.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gf12f8fe7a53c5fc0fb45c2d24d0999c9"></a><!-- doxytag: member="ggl::exterior_ring" ref="gf12f8fe7a53c5fc0fb45c2d24d0999c9" args="(const P &amp;polygon)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const ring_type&lt;P&gt;::type&amp; ggl::exterior_ring </td>
+ <td>(</td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>polygon</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Function to get the exterior ring 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> (const version).
+<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>OGC compliance: instead of ExteriorRing </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>&nbsp;</td><td><a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> 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><a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a></em>&nbsp;</td><td>the <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> to get the exterior ring from </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a const reference to the exterior ring </dd></dl>
+
+<p>Definition at line <a class="el" href="exterior__ring_8hpp_source.html#l00091">91</a> of file <a class="el" href="exterior__ring_8hpp_source.html">exterior_ring.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gfb1abbb52eaeb5391c51fb6c209ab758"></a><!-- doxytag: member="ggl::interior_rings" ref="gfb1abbb52eaeb5391c51fb6c209ab758" args="(P &amp;polygon)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">interior_type&lt;P&gt;::type&amp; ggl::interior_rings </td>
+ <td>(</td>
+ <td class="paramtype">P &amp;&nbsp;</td>
+ <td class="paramname"> <em>polygon</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Function to get the interior rings of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (non const version).
+<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>OGC compliance: instead of InteriorRingN </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>&nbsp;</td><td><a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> 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><a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a></em>&nbsp;</td><td>the <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> to get the interior rings from </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the interior rings </dd></dl>
+
+<p>Definition at line <a class="el" href="interior__rings_8hpp_source.html#l00125">125</a> of file <a class="el" href="interior__rings_8hpp_source.html">interior_rings.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ga81ef3b07a844489714e682f12e43746"></a><!-- doxytag: member="ggl::interior_rings" ref="ga81ef3b07a844489714e682f12e43746" args="(const P &amp;polygon)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const interior_type&lt;P&gt;::type&amp; ggl::interior_rings </td>
+ <td>(</td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>polygon</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Function to get the interior rings of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (const version).
+<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>OGC compliance: instead of InteriorRingN </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>&nbsp;</td><td><a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> 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><a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a></em>&nbsp;</td><td>the <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> to get the interior rings from </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a const reference to the interior rings </dd></dl>
+
+<p>Definition at line <a class="el" href="interior__rings_8hpp_source.html#l00140">140</a> of file <a class="el" href="interior__rings_8hpp_source.html">interior_rings.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g0b185daa84fef7c96923751e087fbb21"></a><!-- doxytag: member="ggl::num_interior_rings" ref="g0b185daa84fef7c96923751e087fbb21" args="(const P &amp;polygon)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t ggl::num_interior_rings </td>
+ <td>(</td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>polygon</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Function to get the number of interior rings of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>.
+<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Defined by OGC as "numInteriorRing". To be consistent with "numPoints" letter "s" is appended </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>&nbsp;</td><td><a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> 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><a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a></em>&nbsp;</td><td>the <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>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the nubmer of interior rings </dd></dl>
+
+<p>Definition at line <a class="el" href="interior__rings_8hpp_source.html#l00157">157</a> of file <a class="el" href="interior__rings_8hpp_source.html">interior_rings.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g8923ef58b174aa129ba64465cbcf95b5"></a><!-- doxytag: member="ggl::get_as_radian" ref="g8923ef58b174aa129ba64465cbcf95b5" args="(const G &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t D, typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">coordinate_type&lt;G&gt;::type ggl::get_as_radian </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, result is in RADIAN
+<p>
+also if coordinate system was in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a>, result is in <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a> <dl class="return" compact><dt><b>Returns:</b></dt><dd>coordinate value</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>D</em>&nbsp;</td><td><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> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>G</em>&nbsp;</td><td>geometry </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>&nbsp;</td><td>geometry to get coordinate value from </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="radian__access_8hpp_source.html#l00089">89</a> of file <a class="el" href="radian__access_8hpp_source.html">radian_access.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g9fcd126a3429823c1b684e0bae01c491"></a><!-- doxytag: member="ggl::set_from_radian" ref="g9fcd126a3429823c1b684e0bae01c491" args="(G &amp;geometry, const typename coordinate_type&lt; G &gt;::type &amp;radians)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t D, typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::set_from_radian </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const typename coordinate_type&lt; G &gt;::type &amp;&nbsp;</td>
+ <td class="paramname"> <em>radians</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+assign coordinate value (which is in <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>) to a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>
+<p>
+if coordinate system of <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a>, will be converted to <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</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>D</em>&nbsp;</td><td><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> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>G</em>&nbsp;</td><td>geometry </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>&nbsp;</td><td>geometry to assign coordinate to </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>radians</em>&nbsp;</td><td>coordinate value to assign </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="radian__access_8hpp_source.html#l00107">107</a> of file <a class="el" href="radian__access_8hpp_source.html">radian_access.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gfcdd0e4038fec643354ccc1c83294172"></a><!-- doxytag: member="ggl::get_radius" ref="gfcdd0e4038fec643354ccc1c83294172" args="(const G &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t I, typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">radius_type&lt;G&gt;::type ggl::get_radius </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Function to get radius.
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>radius of a circle / sphere / ellipse</dd></dl>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em>&nbsp;</td><td>the geometry to get the radius from </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>I</em>&nbsp;</td><td>index, for circle/sphere always zero, for ellipse major/minor axis, for ellipsoid one of the 3 equatorial radii </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00123">123</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g5964359d6ef6dc6c8cf37ed319ee3c79"></a><!-- doxytag: member="ggl::set_radius" ref="g5964359d6ef6dc6c8cf37ed319ee3c79" args="(G &amp;geometry, const typename radius_type&lt; G &gt;::type &amp;radius)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t I, typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::set_radius </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const typename radius_type&lt; G &gt;::type &amp;&nbsp;</td>
+ <td class="paramname"> <em>radius</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Function to set the radius of a circle / sphere / (ellipse).
+<p>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>I</em>&nbsp;</td><td>index, for circle/sphere always zero, for ellipse major/minor axis, for ellipsoid one of the 3 equatorial radii </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em>&nbsp;</td><td>the geometry to change </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>radius</em>&nbsp;</td><td>the radius to set </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00140">140</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g8cfdebdb885a95bacb1305744f0d0d7c"></a><!-- doxytag: member="ggl::append" ref="g8cfdebdb885a95bacb1305744f0d0d7c" args="(G &amp;geometry, const RoP &amp;range_or_point, int ring_index=&#45;1, int multi_index=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename RoP &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::append </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const RoP &amp;&nbsp;</td>
+ <td class="paramname"> <em>range_or_point</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ring_index</em> = <code>-1</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>multi_index</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Appends one or more points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear-ring, <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, multi.
+<p>
+<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>&nbsp;</td><td>a geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>range_or_point</em>&nbsp;</td><td>the <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or range to add </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>ring_index</em>&nbsp;</td><td>the index of the ring in case 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>: exterior ring (-1, the default) or interior ring index </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>multi_index</em>&nbsp;</td><td>reserved for multi polygons </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="02__linestring__example_8cpp-example.html#a4">02_linestring_example.cpp</a>, and <a class="el" href="03__polygon__example_8cpp-example.html#a16">03_polygon_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="append_8hpp_source.html#l00180">180</a> of file <a class="el" href="append_8hpp_source.html">append.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ge58b5c7b493d0112202dc139af200c73"></a><!-- doxytag: member="ggl::assign" ref="ge58b5c7b493d0112202dc139af200c73" args="(G &amp;geometry, T const &amp;c1, T const &amp;c2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+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>
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="g4e53af2d63f19a7550b5fe0156efc433"></a><!-- doxytag: member="ggl::assign" ref="g4e53af2d63f19a7550b5fe0156efc433" args="(G &amp;geometry, T const &amp;c1, T const &amp;c2, T const &amp;c3)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c3</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+assign three values to a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or the center + radius to a circle
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="gc534d6dd298802a12265e7e9c1c25a01"></a><!-- doxytag: member="ggl::assign" ref="gc534d6dd298802a12265e7e9c1c25a01" args="(G &amp;geometry, T const &amp;c1, T const &amp;c2, T const &amp;c3, T const &amp;c4)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c4</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+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>
+
+</div>
+</div><p>
+<a class="anchor" name="ge87a43e061a27e450e01f00c228ed472"></a><!-- doxytag: member="ggl::assign" ref="ge87a43e061a27e450e01f00c228ed472" args="(G &amp;geometry, R const &amp;range)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename R &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">R const &amp;&nbsp;</td>
+ <td class="paramname"> <em>range</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+assign a range of points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="gaa27514a7d1c16133d28dd5601cd32fd"></a><!-- doxytag: member="ggl::assign_inverse" ref="gaa27514a7d1c16133d28dd5601cd32fd" args="(G &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign_inverse </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+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
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="g2fba6ded1fb6ecc7dba897b55c70f2d0"></a><!-- doxytag: member="ggl::assign_zero" ref="g2fba6ded1fb6ecc7dba897b55c70f2d0" args="(G &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign_zero </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+assign zero values to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>
+<p>
+The assign_zero function initializes a 2D or 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with coordinates of zero <dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>G</em>&nbsp;</td><td>the geometry type </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="07__graph__route__example_8cpp-example.html#a3">07_graph_route_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00399">399</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g280e2b0e4bada6eac7b7370a4ded705f"></a><!-- doxytag: member="ggl::clear" ref="g280e2b0e4bada6eac7b7370a4ded705f" args="(G &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::clear </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Clears a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (exterior+interiors) or multi*.
+<p>
+Generic function to clear a geometry<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>points and boxes cannot be cleared, instead they can be set to zero by "assign_zero" </dd></dl>
+
+<p>Definition at line <a class="el" href="clear_8hpp_source.html#l00147">147</a> of file <a class="el" href="clear_8hpp_source.html">clear.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g7a12c7eaa14250c82f9424114df0c9aa"></a><!-- doxytag: member="ggl::make" ref="g7a12c7eaa14250c82f9424114df0c9aa" args="(T const &amp;c1, T const &amp;c2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">G ggl::make </td>
+ <td>(</td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Make a geometry.
+<p>
+the Generic Geometry Library uses concepts for all its geometries. Therefore it does not rely on constructors. The "make" functions are object generators creating geometries. There are overloads with two, three, four or six values, which are implemented depending on the geometry specified. <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>&nbsp;</td><td>the geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>the coordinate type </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the geometry </dd></dl>
+
+<p>Definition at line <a class="el" href="make_8hpp_source.html#l00028">28</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g76b1eb0628944050f3f75472df289a1f"></a><!-- doxytag: member="ggl::make" ref="g76b1eb0628944050f3f75472df289a1f" args="(T const &amp;c1, T const &amp;c2, T const &amp;c3)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">G ggl::make </td>
+ <td>(</td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c3</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Make a geometry.
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, a circle </dd></dl>
+
+<p>Definition at line <a class="el" href="make_8hpp_source.html#l00046">46</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g31f890be4e38cb7382e3db9ba3f6d911"></a><!-- doxytag: member="ggl::make_inverse" ref="g31f890be4e38cb7382e3db9ba3f6d911" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">G ggl::make_inverse </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with inverse infinite coordinates.
+<p>
+The make_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 <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>&nbsp;</td><td>the geometry type </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="make_8hpp_source.html#l00091">91</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gb6c00a38f2e98ba4d83a04da43368071"></a><!-- doxytag: member="ggl::make_zero" ref="gb6c00a38f2e98ba4d83a04da43368071" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">G ggl::make_zero </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a geometry with "zero" coordinates.
+<p>
+The make_zero function initializes a 2D or 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with coordinates of zero <dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>G</em>&nbsp;</td><td>the geometry type </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the geometry </dd></dl>
+
+<p>Definition at line <a class="el" href="make_8hpp_source.html#l00110">110</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g8d58faff2722b073b44c24f19577e267"></a><!-- doxytag: member="ggl::num_points" ref="g8d58faff2722b073b44c24f19577e267" args="(Geometry const &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">std::size_t ggl::num_points </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+get number of points
+<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>&nbsp;</td><td>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>&nbsp;</td><td>the geometry to get number of points from </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>number of points </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>For linestrings/rings also boost::size or .size() could be used, however, for polygons this is <a class="el" href="structggl_1_1less.html" title="Less predicate for usage in e.g. std::map.">less</a> obvious. So this function is provided. Besides that it is described by OGC (numPoints) </dd></dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="02__linestring__example_8cpp-example.html#a9">02_linestring_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="algorithms_2num__points_8hpp_source.html#l00132">132</a> of file <a class="el" href="algorithms_2num__points_8hpp_source.html">num_points.hpp</a>.</p>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__area.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__area.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>area calculation</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__area.html">ggl::strategy_area&lt; T, P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding an area <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&lt;typename Geometry , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Strategy::return_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__area.html#g7e0783c73b5f561707c50b445a01b833">ggl::area</a> (Geometry const &amp;geometry, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate area of a geometry using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">area_result&lt; Geometry &gt;<br class="typebreak">
+::return_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3">ggl::area</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate area of a geometry. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<dl class="user" compact><dt><b>Performance</b></dt><dd>2776 * 1000 area calculations are done in 0.11 seconds (other libraries: 0.125 seconds, 0.125 seconds, 0.5 seconds)</dd></dl>
+<dl class="user" compact><dt><b>Coordinate systems and strategies</b></dt><dd>Area calculation can be done in Cartesian and in spherical/geographic coordinate systems.</dd></dl>
+<dl class="user" compact><dt><b>Geometries</b></dt><dd>The area algorithm calculates the surface area of all geometries having a surface: box, circle, polygon, multi_polygon. The units are the square of the units used for the points defining the surface. If the polygon is defined in meters, the area is in square meters.</dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing area calculation of polygons built of xy-points and of latlong-points <div class="fragment"><pre class="fragment">{
+ <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">ggl::polygon&lt;ggl::point_xy&lt;double&gt;</a> &gt; poly;
+ ggl::read_wkt(<span class="stringliteral">"POLYGON((0 0,0 7,4 2,2 0,0 0))"</span>, poly);
+ std::cout &lt;&lt; <span class="stringliteral">"Polygon area is "</span>
+ &lt;&lt; <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">ggl::area</a>(poly)
+ &lt;&lt; <span class="stringliteral">" square units"</span> &lt;&lt; std::endl;
+
+ <span class="comment">/*</span>
+<span class="comment"> Extension, other coordinate system:</span>
+<span class="comment"> ggl::polygon&lt;ggl::point_ll&lt;float, ggl::cs::geographic&lt;ggl::degree&gt; &gt; &gt; poly_ll;</span>
+<span class="comment"> ggl::read_wkt("POLYGON((4 51,4 52,5 52,5 51,4 51))", poly_ll);</span>
+<span class="comment"> std::cout &lt;&lt; "Polygon area is "</span>
+<span class="comment"> &lt;&lt; ggl::area(poly_ll)/(1000*1000)</span>
+<span class="comment"> &lt;&lt; " square kilometers " &lt;&lt; std::endl;</span>
+<span class="comment"> */</span>
+}
+</pre></div> </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g3ebfdefe9c756498730b6d93b83338b3"></a><!-- doxytag: member="ggl::area" ref="g3ebfdefe9c756498730b6d93b83338b3" args="(Geometry const &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">area_result&lt;Geometry&gt;::return_type ggl::area </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em>&nbsp;</td><td>a geometry </td></tr>
+ </table>
+</dl>
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="g7e0783c73b5f561707c50b445a01b833"></a><!-- doxytag: member="ggl::area" ref="g7e0783c73b5f561707c50b445a01b833" args="(Geometry const &amp;geometry, Strategy const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Strategy &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Strategy::return_type ggl::area </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Strategy const &amp;&nbsp;</td>
+ <td class="paramname"> <em>strategy</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate area of a geometry using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>.
+<p>
+This version of area calculation takes a <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>&nbsp;</td><td>a geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em>&nbsp;</td><td>the <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to calculate area. Especially for spherical areas there are some approaches. </td></tr>
+ </table>
+</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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__arithmetic.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__arithmetic.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,473 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>arithmetic: arithmetic operations on points</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point1 , typename Point2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f">ggl::add_point</a> (Point1 &amp;p1, Point2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gf403c3bcfc0b66a4f708b6ea2890cadb">ggl::add_value</a> (Point &amp;p, typename detail::param&lt; Point &gt;::type value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a value to each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point1 , typename Point2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g107f9a76ffac64805a1f0c93ce235da8">ggl::divide_point</a> (Point1 &amp;p1, Point2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divides a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by another. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g8eb0c9ae709c0b9a9e9de8cfd32f7ee8">ggl::divide_value</a> (Point &amp;p, typename detail::param&lt; Point &gt;::type value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divides each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by a value. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P1 , typename P2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; P1 &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556">ggl::dot_product</a> (P1 const &amp;p1, P2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the dot product of 2 points. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point1 , typename Point2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#ge9b84ad59c960d6a6c8257446e1fc4c1">ggl::multiply_point</a> (Point1 &amp;p1, Point2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by another. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gfc95bf881239da6c1f64f5b8d63dbe9d">ggl::multiply_value</a> (Point &amp;p, typename detail::param&lt; Point &gt;::type value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by a value. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point1 , typename Point2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9">ggl::subtract_point</a> (Point1 &amp;p1, Point2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtracts a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g4672200cc86d998c5b6a1106fb423d80">ggl::subtract_value</a> (Point &amp;p, typename detail::param&lt; Point &gt;::type value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtracts a value to each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gf403c3bcfc0b66a4f708b6ea2890cadb"></a><!-- doxytag: member="ggl::add_value" ref="gf403c3bcfc0b66a4f708b6ea2890cadb" args="(Point &amp;p, typename detail::param&lt; Point &gt;::type value)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::add_value </td>
+ <td>(</td>
+ <td class="paramtype">Point &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename detail::param&lt; Point &gt;::type&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Adds a value to each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value to add </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="arithmetic_8hpp_source.html#l00086">86</a> of file <a class="el" href="arithmetic_8hpp_source.html">arithmetic.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g3be737bb0f230fe9349df97e4c7ff09f"></a><!-- doxytag: member="ggl::add_point" ref="g3be737bb0f230fe9349df97e4c7ff09f" args="(Point1 &amp;p1, Point2 const &amp;p2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1 , typename Point2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::add_point </td>
+ <td>(</td>
+ <td class="paramtype">Point1 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Point2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Adds a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another.
+<p>
+The coordinates of the second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> will be added to those of the first <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. The second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is not modified. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>p1</em>&nbsp;</td><td>first <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>p2</em>&nbsp;</td><td>second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="arithmetic_8hpp_source.html#l00102">102</a> of file <a class="el" href="arithmetic_8hpp_source.html">arithmetic.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g4672200cc86d998c5b6a1106fb423d80"></a><!-- doxytag: member="ggl::subtract_value" ref="g4672200cc86d998c5b6a1106fb423d80" args="(Point &amp;p, typename detail::param&lt; Point &gt;::type value)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::subtract_value </td>
+ <td>(</td>
+ <td class="paramtype">Point &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename detail::param&lt; Point &gt;::type&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Subtracts a value to each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value to subtract </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="arithmetic_8hpp_source.html#l00118">118</a> of file <a class="el" href="arithmetic_8hpp_source.html">arithmetic.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g7c04cab8a69747a37549b75aefc227f9"></a><!-- doxytag: member="ggl::subtract_point" ref="g7c04cab8a69747a37549b75aefc227f9" args="(Point1 &amp;p1, Point2 const &amp;p2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1 , typename Point2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::subtract_point </td>
+ <td>(</td>
+ <td class="paramtype">Point1 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Point2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Subtracts a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another.
+<p>
+The coordinates of the second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> will be subtracted to those of the first <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. The second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is not modified. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>p1</em>&nbsp;</td><td>first <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>p2</em>&nbsp;</td><td>second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="arithmetic_8hpp_source.html#l00134">134</a> of file <a class="el" href="arithmetic_8hpp_source.html">arithmetic.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gfc95bf881239da6c1f64f5b8d63dbe9d"></a><!-- doxytag: member="ggl::multiply_value" ref="gfc95bf881239da6c1f64f5b8d63dbe9d" args="(Point &amp;p, typename detail::param&lt; Point &gt;::type value)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::multiply_value </td>
+ <td>(</td>
+ <td class="paramtype">Point &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename detail::param&lt; Point &gt;::type&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Multiplies each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by a value.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value to multiply by </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="arithmetic_8hpp_source.html#l00150">150</a> of file <a class="el" href="arithmetic_8hpp_source.html">arithmetic.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ge9b84ad59c960d6a6c8257446e1fc4c1"></a><!-- doxytag: member="ggl::multiply_point" ref="ge9b84ad59c960d6a6c8257446e1fc4c1" args="(Point1 &amp;p1, Point2 const &amp;p2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1 , typename Point2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::multiply_point </td>
+ <td>(</td>
+ <td class="paramtype">Point1 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Point2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Multiplies a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by another.
+<p>
+The coordinates of the second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> will be multiplied by those of the first <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. The second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is not modified. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>p1</em>&nbsp;</td><td>first <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>p2</em>&nbsp;</td><td>second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ </table>
+</dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>This is *not* a dot, cross or wedge product. It is a mere field-by-field multiplication. </dd></dl>
+
+<p>Definition at line <a class="el" href="arithmetic_8hpp_source.html#l00167">167</a> of file <a class="el" href="arithmetic_8hpp_source.html">arithmetic.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g8eb0c9ae709c0b9a9e9de8cfd32f7ee8"></a><!-- doxytag: member="ggl::divide_value" ref="g8eb0c9ae709c0b9a9e9de8cfd32f7ee8" args="(Point &amp;p, typename detail::param&lt; Point &gt;::type value)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::divide_value </td>
+ <td>(</td>
+ <td class="paramtype">Point &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename detail::param&lt; Point &gt;::type&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Divides each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by a value.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value to divide by </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="arithmetic_8hpp_source.html#l00183">183</a> of file <a class="el" href="arithmetic_8hpp_source.html">arithmetic.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g107f9a76ffac64805a1f0c93ce235da8"></a><!-- doxytag: member="ggl::divide_point" ref="g107f9a76ffac64805a1f0c93ce235da8" args="(Point1 &amp;p1, Point2 const &amp;p2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point1 , typename Point2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::divide_point </td>
+ <td>(</td>
+ <td class="paramtype">Point1 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Point2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Divides a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by another.
+<p>
+The coordinates of the second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> will be divided by those of the first <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. The second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is not modified. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>p1</em>&nbsp;</td><td>first <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>p2</em>&nbsp;</td><td>second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="arithmetic_8hpp_source.html#l00199">199</a> of file <a class="el" href="arithmetic_8hpp_source.html">arithmetic.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gb4e975a3003134e51c2764f9b6701556"></a><!-- doxytag: member="ggl::dot_product" ref="gb4e975a3003134e51c2764f9b6701556" args="(P1 const &amp;p1, P2 const &amp;p2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">coordinate_type&lt;P1&gt;::type ggl::dot_product </td>
+ <td>(</td>
+ <td class="paramtype">P1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Computes the dot product of 2 points.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>p1</em>&nbsp;</td><td>first <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>p2</em>&nbsp;</td><td>second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the dot product </dd></dl>
+
+<p>Definition at line <a class="el" href="dot__product_8hpp_source.html#l00056">56</a> of file <a class="el" href="dot__product_8hpp_source.html">dot_product.hpp</a>.</p>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__boolean__relations.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__boolean__relations.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,342 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>boolean relationships (equals, disjoint, overlaps, etc)</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry1 , typename Geometry2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1">ggl::disjoint</a> (const Geometry1 &amp;geometry1, const Geometry2 &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate if two geometries are disjoint. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry1 , typename Geometry2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5">ggl::equals</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate if two geometries are equals. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename B &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c">ggl::overlaps</a> (const B &amp;b1, const B &amp;b2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines overlap between two geometries. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g3051574eadb5ef8ae92ef210665a7332">ggl::within</a> (G1 const &amp;geometry1, G2 const &amp;geometry2, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within check using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc">ggl::within</a> (G1 const &amp;geometry1, G2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within check. <br></td></tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g6d772a2eb8ad083e056bdbf0ec7ae8a1"></a><!-- doxytag: member="ggl::disjoint" ref="g6d772a2eb8ad083e056bdbf0ec7ae8a1" args="(const Geometry1 &amp;geometry1, const Geometry2 &amp;geometry2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry1 , typename Geometry2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::disjoint </td>
+ <td>(</td>
+ <td class="paramtype">const Geometry1 &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const Geometry2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate if two geometries are disjoint.
+<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>&nbsp;</td><td>first geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Geometry2</em>&nbsp;</td><td>second 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>geometry1</em>&nbsp;</td><td>first geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry2</em>&nbsp;</td><td>second geometry </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if disjoint, else false </dd></dl>
+
+<p>Definition at line <a class="el" href="disjoint_8hpp_source.html#l00184">184</a> of file <a class="el" href="disjoint_8hpp_source.html">disjoint.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g122b1fd835cee0742da7c97dfdda94c5"></a><!-- doxytag: member="ggl::equals" ref="g122b1fd835cee0742da7c97dfdda94c5" args="(Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry1 , typename Geometry2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::equals </td>
+ <td>(</td>
+ <td class="paramtype">Geometry1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Geometry2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate if two geometries are equals.
+<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>&nbsp;</td><td>first geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Geometry2</em>&nbsp;</td><td>second 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>geometry1</em>&nbsp;</td><td>first geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry2</em>&nbsp;</td><td>second geometry </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if equals, else false </dd></dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="02__linestring__example_8cpp-example.html#a0">02_linestring_example.cpp</a>, and <a class="el" href="07__graph__route__example_8cpp-example.html#a7">07_graph_route_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="equals_8hpp_source.html#l00111">111</a> of file <a class="el" href="equals_8hpp_source.html">equals.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ga306028410cb737d8533dc9efa310a1c"></a><!-- doxytag: member="ggl::overlaps" ref="ga306028410cb737d8533dc9efa310a1c" args="(const B &amp;b1, const B &amp;b2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::overlaps </td>
+ <td>(</td>
+ <td class="paramtype">const B &amp;&nbsp;</td>
+ <td class="paramname"> <em>b1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const B &amp;&nbsp;</td>
+ <td class="paramname"> <em>b2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Determines overlap between two geometries.
+<p>
+parameters are now boxes but in the future will be geometries<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if there is overlap</dd></dl>
+<dl class="user" compact><dt><b>Source descriptions:</b></dt><dd><ul>
+<li>Egenhofer: Two objects overlap if they have common interior faces and the bounding faces have common parts with the opposite interior faces.</li></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Implemented in scratch the Generic Geometry library. Will be reworked internally to support more geometries but function call will stay as it is now. </dd></dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd>http://docs.codehaus.org/display/GEOTDOC/02+Geometry+Relationships#02GeometryRelationships-Overlaps where is stated that "inside" is not an "overlap", this is probably true and should then be implemented as such. </dd></dl>
+
+<p>Definition at line <a class="el" href="overlaps_8hpp_source.html#l00036">36</a> of file <a class="el" href="overlaps_8hpp_source.html">overlaps.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g95d6465a12b762c77df41369a039f6dc"></a><!-- doxytag: member="ggl::within" ref="g95d6465a12b762c77df41369a039f6dc" args="(G1 const &amp;geometry1, G2 const &amp;geometry2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G1 , typename G2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::within </td>
+ <td>(</td>
+ <td class="paramtype">G1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">G2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Within check.
+<p>
+Examine if one geometry is within another geometry (a.o. <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> in <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>)<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry1</em>&nbsp;</td><td>geometry which might be within the second geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry2</em>&nbsp;</td><td>geometry which might contain the first geometry </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if geometry1 is completely contained within geometry2, else false </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> is used for within detection</dd></dl>
+<dl class="user" compact><dt><b>Source descriptions:</b></dt><dd><ul>
+<li>OGC: Returns 1 (TRUE) if this geometric object is "spatially within" another Geometry.</li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Performance</b></dt><dd>2776 within determinations using bounding <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> and <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> are done in 0.09 seconds (other libraries: 0.14 seconds, 3.0 seconds, 3.8)</dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>The within algorithm is used as following: <div class="fragment"><pre class="fragment">{
+ <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">ggl::polygon&lt;ggl::point_xy&lt;double&gt;</a> &gt; poly;
+ ggl::read_wkt(<span class="stringliteral">"POLYGON((0 0,0 7,4 2,2 0,0 0))"</span>, poly);
+ <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy&lt;float&gt;</a> point(3, 3);
+ std::cout &lt;&lt; <span class="stringliteral">"Point is "</span>
+ &lt;&lt; (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(point, poly) ? <span class="stringliteral">"IN"</span> : <span class="stringliteral">"NOT in"</span>)
+ &lt;&lt; <span class="stringliteral">" polygon"</span>
+ &lt;&lt; std::endl;
+}
+</pre></div> </dd></dl>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li>POINT + POLYGON: The well-known point-in-polygon, returning true if a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> falls within a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (and not within one of its holes) <div align="center">
+<img src="within_polygon.png" alt="within_polygon.png">
+</div>
+</li><li>POINT + RING: returns true if <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is completely within a ring <div align="center">
+<img src="within_ring.png" alt="within_ring.png">
+</div>
+ </li></ul>
+</dd></dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="03__polygon__example_8cpp-example.html#a12">03_polygon_example.cpp</a>, <a class="el" href="c02__custom__box__example_8cpp-example.html#a5">c02_custom_box_example.cpp</a>, and <a class="el" href="x01__qt__example_8cpp-example.html#a3">x01_qt_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="algorithms_2within_8hpp_source.html#l00377">377</a> of file <a class="el" href="algorithms_2within_8hpp_source.html">within.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g3051574eadb5ef8ae92ef210665a7332"></a><!-- doxytag: member="ggl::within" ref="g3051574eadb5ef8ae92ef210665a7332" args="(G1 const &amp;geometry1, G2 const &amp;geometry2, S const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G1 , typename G2 , typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::within </td>
+ <td>(</td>
+ <td class="paramtype">G1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">G2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>strategy</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Within check using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry1</em>&nbsp;</td><td>geometry which might be within the second geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry2</em>&nbsp;</td><td>geometry which might contain the first geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em>&nbsp;</td><td><a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to be used </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if geometry1 is completely contained within geometry2, else false </dd></dl>
+
+<p>Definition at line <a class="el" href="algorithms_2within_8hpp_source.html#l00399">399</a> of file <a class="el" href="algorithms_2within_8hpp_source.html">within.hpp</a>.</p>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__buffer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__buffer.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,186 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>buffer calculation</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Input , typename Output , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63">ggl::buffer</a> (const Input &amp;geometry_in, Output &amp;geometry_out, T const &amp;distance, T const &amp;chord_length=-1)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate buffer (= new geometry) around specified distance of geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Output , typename Input , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Output&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g86e90005b6d11abc10459e02e4f4ed22">ggl::make_buffer</a> (const Input &amp;geometry, T const &amp;distance, T const &amp;chord_length=-1)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return buffer (= new geometry) around specified distance of geometry. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<dl class="user" compact><dt><b>Source description:</b></dt><dd><ul>
+<li>OGC: Returns a geometric object that represents all Points whose distance from this geometric object is less than or equal to distance. Calculations are in the spatial reference system of this geometric object. Because of the limitations of linear interpolation, there will often be some relatively small error in this distance, but it should be near the resolution of the coordinates used </li></ul>
+</dd></dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Buffer_(GIS) </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g8eba9385881e8f0d9e45e379df214b63"></a><!-- doxytag: member="ggl::buffer" ref="g8eba9385881e8f0d9e45e379df214b63" args="(const Input &amp;geometry_in, Output &amp;geometry_out, T const &amp;distance, T const &amp;chord_length=&#45;1)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Input , typename Output , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::buffer </td>
+ <td>(</td>
+ <td class="paramtype">const Input &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry_in</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Output &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry_out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>distance</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>chord_length</em> = <code>-1</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate buffer (= new geometry) around specified distance of geometry.
+<p>
+<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_in</em>&nbsp;</td><td>input geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>distance</em>&nbsp;</td><td>the distance used in buffer </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>chord_length</em>&nbsp;</td><td>length of the chord's in the generated arcs around points or bends </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry_out</em>&nbsp;</td><td>buffered geometry </td></tr>
+ </table>
+</dl>
+<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 -&gt; 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>
+
+</div>
+</div><p>
+<a class="anchor" name="g86e90005b6d11abc10459e02e4f4ed22"></a><!-- doxytag: member="ggl::make_buffer" ref="g86e90005b6d11abc10459e02e4f4ed22" args="(const Input &amp;geometry, T const &amp;distance, T const &amp;chord_length=&#45;1)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Output , typename Input , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Output ggl::make_buffer </td>
+ <td>(</td>
+ <td class="paramtype">const Input &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>distance</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>chord_length</em> = <code>-1</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate and return buffer (= new geometry) around specified distance of geometry.
+<p>
+<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>&nbsp;</td><td>input geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>distance</em>&nbsp;</td><td>the distance used in buffer </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>chord_length</em>&nbsp;</td><td>length of the chord's in the generated arcs around points or bends </td></tr>
+ </table>
+</dl>
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__centroid.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__centroid.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,295 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>centroid calculation</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__centroid.html">ggl::strategy_centroid&lt; T, P, PS &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a centroid calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename P , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gda8ccb0bcdd94cebe5b66374259c1fe2">ggl::centroid</a> (const G &amp;geometry, P &amp;c, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate centroid using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd">ggl::centroid</a> (const G &amp;geometry, P &amp;c)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate centroid. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P , typename G , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">P&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#g8c284d8ca53c0ace8827431178438852">ggl::make_centroid</a> (const G &amp;geometry, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P , typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">P&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4">ggl::make_centroid</a> (const G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<dl class="user" compact><dt><b>Source descriptions:</b></dt><dd><ul>
+<li>OGC description: The mathematical centroid for this Surface as a Point. The result is not guaranteed to be on this Surface.</li><li>From Wikipedia: Informally, it is the "average" of all points </li></ul>
+</dd></dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Centroid </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The "centroid" functions are taking a non const reference to the centroid. The "make_centroid" functions return the centroid, the type has to be specified.<p>
+There are versions where the centroid calculation strategy can be specified </dd></dl>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li>RING: <div align="center">
+<img src="centroid_ring.png" alt="centroid_ring.png">
+</div>
+</li><li>BOX: the centroid of a 2D or 3D box is the center of the box</li><li>CIRCLE: the centroid of a circle or a sphere is its center</li><li>POLYGON <div align="center">
+<img src="centroid_polygon.png" alt="centroid_polygon.png">
+</div>
+</li><li>POINT, LINESTRING, SEGMENT: trying to calculate the centroid will result in a compilation error </li></ul>
+</dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g2b743cdd7177313b561780ba87c633cd"></a><!-- doxytag: member="ggl::centroid" ref="g2b743cdd7177313b561780ba87c633cd" args="(const G &amp;geometry, P &amp;c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::centroid </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P &amp;&nbsp;</td>
+ <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate centroid.
+<p>
+The function centroid calculates the centroid of a geometry using the default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. A <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> should be closed and orientated clockwise, holes, if any, must be orientated counter clockwise <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em>&nbsp;</td><td>a geometry (e.g. closed ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>) </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>reference to <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> which will contain the centroid </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classggl_1_1centroid__exception.html">centroid_exception</a></em>&nbsp;</td><td>if calculation is not successful, e.g. because <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> didn't contain points </td></tr>
+ </table>
+</dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing centroid calculation <div class="fragment"><pre class="fragment">{
+ <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">ggl::polygon&lt;ggl::point_xy&lt;double&gt;</a> &gt; poly;
+ ggl::read_wkt(<span class="stringliteral">"POLYGON((0 0,0 7,4 2,2 0,0 0))"</span>, poly);
+ <span class="comment">// Center of polygon might have different type then points of polygon</span>
+ <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy&lt;float&gt;</a> center;
+ <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">ggl::centroid</a>(poly, center);
+ std::cout &lt;&lt; <span class="stringliteral">"Centroid: "</span> &lt;&lt; center.<a class="code" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272" title="Get x-value.">x</a>() &lt;&lt; <span class="stringliteral">","</span> &lt;&lt; center.<a class="code" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f" title="Get y-value.">y</a>() &lt;&lt; std::endl;
+}
+</pre></div> </dd></dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="03__polygon__example_8cpp-example.html#a8">03_polygon_example.cpp</a>, <a class="el" href="c04__a__custom__triangle__example_8cpp-example.html#a4">c04_a_custom_triangle_example.cpp</a>, and <a class="el" href="c04__b__custom__triangle__example_8cpp-example.html#a3">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>
+</div><p>
+<a class="anchor" name="gda8ccb0bcdd94cebe5b66374259c1fe2"></a><!-- doxytag: member="ggl::centroid" ref="gda8ccb0bcdd94cebe5b66374259c1fe2" args="(const G &amp;geometry, P &amp;c, S const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename P , typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::centroid </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P &amp;&nbsp;</td>
+ <td class="paramname"> <em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>strategy</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate centroid using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>.
+<p>
+<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>&nbsp;</td><td>the geometry to calculate centroid from </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>reference to <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> which will contain the centroid </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em>&nbsp;</td><td>Calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for centroid </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classggl_1_1centroid__exception.html">centroid_exception</a></em>&nbsp;</td><td>if calculation is not successful, e.g. because <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> didn't contain points </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00231">231</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gcb8d61ecb3cb509353728f50d9ae03b4"></a><!-- doxytag: member="ggl::make_centroid" ref="gcb8d61ecb3cb509353728f50d9ae03b4" args="(const G &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">P ggl::make_centroid </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate and return centroid.
+<p>
+<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>&nbsp;</td><td>the geometry to calculate centroid from </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the centroid </dd></dl>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classggl_1_1centroid__exception.html">centroid_exception</a></em>&nbsp;</td><td>if calculation is not successful, e.g. because <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> didn't contain points </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00252">252</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g8c284d8ca53c0ace8827431178438852"></a><!-- doxytag: member="ggl::make_centroid" ref="g8c284d8ca53c0ace8827431178438852" args="(const G &amp;geometry, S const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename G , typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">P ggl::make_centroid </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>strategy</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate and return centroid.
+<p>
+<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>&nbsp;</td><td>the geometry to calculate centroid from </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em>&nbsp;</td><td>Calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for centroid </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the centroid </dd></dl>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classggl_1_1centroid__exception.html">centroid_exception</a></em>&nbsp;</td><td>if calculation is not successful, e.g. because <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> didn't contain points </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00268">268</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__combine.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__combine.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,129 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>combine: add a geometry to a bounding box</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Box , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199">ggl::combine</a> (Box &amp;box, Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with another geometry (<a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>). <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li>BOX + BOX -&gt; BOX: the box will be combined with the other box <div align="center">
+<img src="combine_box_box.png" alt="combine_box_box.png">
+</div>
+</li><li>BOX + POINT -&gt; BOX: the box will combined with the point <div align="center">
+<img src="combine_box_point.png" alt="combine_box_point.png">
+</div>
+ </li></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Previously called "grow" </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gf2336ad085ad8b79cde5a759ab229199"></a><!-- doxytag: member="ggl::combine" ref="gf2336ad085ad8b79cde5a759ab229199" args="(Box &amp;box, Geometry const &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::combine </td>
+ <td>(</td>
+ <td class="paramtype">Box &amp;&nbsp;</td>
+ <td class="paramname"> <em>box</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Combines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with another geometry (<a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>).
+<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>Box</em>&nbsp;</td><td>type of the <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Geometry</em>&nbsp;</td><td>of second geometry, to be combined with the <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> </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><a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a></em>&nbsp;</td><td><a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> to combine another geometry with, might be changed </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em>&nbsp;</td><td>other geometry </td></tr>
+ </table>
+</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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__concepts.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__concepts.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>concept checking</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box&lt; B &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox&lt; B &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring&lt; L &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ggl::concept::ConstNsphere&lt; S &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint&lt; X &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing&lt; R &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment&lt; S &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring&lt; L &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_nsphere.html">ggl::concept::Nsphere&lt; S &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point.html">ggl::concept::Point&lt; X &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring&lt; R &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks (linear) <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment&lt; S &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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>
+</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>
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convert.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convert.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>convert geometries from one type to another</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convert.html#ge07fa83176190049c856e35f77d0f569">ggl::convert</a> (G1 const &amp;geometry1, G2 &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts one geometry to another geometry. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Convert from one geometry type to another type, for example from BOX to POLYGON <hr><h2>Function Documentation</h2>
+<a class="anchor" name="ge07fa83176190049c856e35f77d0f569"></a><!-- doxytag: member="ggl::convert" ref="ge07fa83176190049c856e35f77d0f569" args="(G1 const &amp;geometry1, G2 &amp;geometry2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G1 , typename G2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::convert </td>
+ <td>(</td>
+ <td class="paramtype">G1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">G2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Converts one geometry to another geometry.
+<p>
+The convert algorithm converts one geometry, e.g. a BOX, to another geometry, e.g. a RING. This only if it is possible and applicable.<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>G1</em>&nbsp;</td><td>first geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>G2</em>&nbsp;</td><td>second 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>geometry1</em>&nbsp;</td><td>first geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry2</em>&nbsp;</td><td>second geometry </td></tr>
+ </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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convex__hull.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convex__hull.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,130 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>convex hull calculation</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__convex__hull.html">ggl::strategy_convex_hull&lt; T, P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename Geometry , typename OutputIterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18">ggl::convex_hull</a> (Geometry const &amp;geometry, OutputIterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the convex hull of a geometry. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<dl class="user" compact><dt><b>Source descriptions:</b></dt><dd><ul>
+<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="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">
+<img src="convexhull_polygon_polygon.png" alt="convexhull_polygon_polygon.png">
+</div>
+ </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 &amp;geometry, OutputIterator out)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename OutputIterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">OutputIterator ggl::convex_hull </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">OutputIterator&nbsp;</td>
+ <td class="paramname"> <em>out</em></td><td>&nbsp;</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>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em>&nbsp;</td><td>the geometry to calculate convex hull from </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__core.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__core.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,107 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>core: meta-functions for geometry types</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function which defines coordinate system for any geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1coordinate__type.html">ggl::coordinate_type&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function which defines coordinate type (int, float, double, etc) of any geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs__tag.html">ggl::cs_tag&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function returning coordinate system <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> (<a class="el" href="namespaceggl_1_1cs.html">cs</a> family) of any geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1dimension.html">ggl::dimension&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function which defines coordinate dimensions, i.e. the number of axes of any geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1exception.html">ggl::exception</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base <a class="el" href="structggl_1_1exception.html" title="Base exception class for GGL.">exception</a> class for GGL. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1geometry__id.html">ggl::geometry_id&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function the id for a geometry type. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1interior__type.html">ggl::interior_type&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining container type of inner rings of (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> geometriy. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1is__linear.html">ggl::is_linear&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining "true" for linear types (<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), "false" for non-linear typse. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1is__multi.html">ggl::is_multi&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining "true" for multi geometries (<a class="el" href="structggl_1_1multi__point.html">multi_point</a>, etc). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1is__radian.html">ggl::is_radian&lt; CoordinateSystem &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__type.html">ggl::point_type&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ring__type.html">ggl::ring_type&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function which defines ring type of (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1tag.html">ggl::tag&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function to get the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of any geometry type. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1topological__dimension.html">ggl::topological_dimension&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__cs.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__cs.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,89 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>coordinate systems</h1>Defines coordinate systems.
+More...
+<p>
+<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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1cartesian.html">ggl::cs::cartesian</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cartesian coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1geographic.html">ggl::cs::geographic&lt; DegreeOrRadian &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Geographic coordinate system, in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> or in <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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1polar.html">ggl::cs::polar&lt; DegreeOrRadian &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Polar coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1spherical.html">ggl::cs::spherical&lt; DegreeOrRadian &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spherical coordinate system, in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> or in <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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1degree.html">ggl::degree</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unit of plan angles: degrees. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1radian.html">ggl::radian</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unit of plan angles: radians. More...<br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Defines coordinate systems.
+<p>
+Coordinate systems are essential for any point in the Generic Geometry Library. Many algorithms such as distance or transform use coordinate systems to select the strategy to use. </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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__distance.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__distance.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,333 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>distance calculation</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encapsulate the results of distance calculation. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; G1, G2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras&lt; P1, P2, CalculationType &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__distance.html">ggl::strategy_distance&lt; T1, T2, P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a (possibly two) coordinate system(s). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__distance__segment.html">ggl::strategy_distance_segment&lt; CsTag1, CsTag2, Point, Segment &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a distance-to-segment <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a (possibly two) coordinate system(s). More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098">ggl::close_to_zero</a> (T const &amp;value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Utility function to check if a distance is very small. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry1 , typename Geometry2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">distance_result&lt; Geometry1, <br class="typebreak">
+Geometry2 &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#gd122aa78e960f37b9d61bb02c6913f55">ggl::distance</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate distance between two geometries. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry1 , typename Geometry2 , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Strategy::return_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#g22a618786d2601e9201896a8346c161b">ggl::distance</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate distance between two geometries with a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename R , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">R&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">ggl::make_distance_result</a> (T const &amp;value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Object generator to create instance which can be compared. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The distance algorithm returns the distance between two geometries. <dl class="user" compact><dt><b>Coordinate systems and strategies:</b></dt><dd>With help of strategies the distance function returns the appropriate distance. If the input is in cartesian coordinates, the Euclidian distance (Pythagoras) is calculated. If the input is in spherical coordinates (either degree or radian), the distance over the sphere is returned. If the input is in geographic coordinates, distance is calculated over the globe and returned in meters.</dd></dl>
+<dl class="user" compact><dt><b>Distance result:</b></dt><dd>Depending on calculation type the distance result is either a structure, convertable to a double, or a double value. In case of Pythagoras it makes sense to not draw the square root in the strategy itself. Taking a square root is relative expensive and is not necessary when comparing distances.</dd></dl>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd>Currently implemented, for both cartesian and spherical/geographic:<ul>
+<li>POINT - POINT</li><li>POINT - SEGMENT and v.v.</li><li>POINT - LINESTRING and v.v.</li></ul>
+</dd></dl>
+Not yet implemented:<ul>
+<li>POINT - RING etc, note that it will return a zero if the point is anywhere within the ring</li></ul>
+<p>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing distance calculation of two points, in xy and in latlong coordinates <div class="fragment"><pre class="fragment">{
+ <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy&lt;double&gt;</a> p1(1, 1);
+ <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy&lt;double&gt;</a> p2(2, 3);
+ std::cout &lt;&lt; <span class="stringliteral">"Distance p1-p2 is "</span>
+ &lt;&lt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(p1, p2)
+ &lt;&lt; <span class="stringliteral">" units"</span> &lt;&lt; std::endl;
+
+ <span class="comment">/*</span>
+<span class="comment"> Extension, other coordinate system:</span>
+<span class="comment"> // Read 2 Dutch cities from WKT texts (in decimal degrees)</span>
+<span class="comment"> ggl::point_ll&lt;double, ggl::cs::geographic&lt;ggl::degree&gt; &gt; a, r;</span>
+<span class="comment"> ggl::read_wkt("POINT(4.89222 52.3731)", a);</span>
+<span class="comment"> ggl::read_wkt("POINT(4.47917 51.9308)", r);</span>
+<span class="comment"></span>
+<span class="comment"> std::cout &lt;&lt; "Distance Amsterdam-Rotterdam is "</span>
+<span class="comment"> &lt;&lt; ggl::distance(a, r) / 1000.0</span>
+<span class="comment"> &lt;&lt; " kilometers " &lt;&lt; std::endl;</span>
+<span class="comment"> */</span>
+}
+</pre></div> </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g22a618786d2601e9201896a8346c161b"></a><!-- doxytag: member="ggl::distance" ref="g22a618786d2601e9201896a8346c161b" args="(Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, Strategy const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry1 , typename Geometry2 , typename Strategy &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Strategy::return_type ggl::distance </td>
+ <td>(</td>
+ <td class="paramtype">Geometry1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Geometry2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Strategy const &amp;&nbsp;</td>
+ <td class="paramname"> <em>strategy</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate distance between two geometries with a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</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>Geometry1</em>&nbsp;</td><td>first geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Geometry2</em>&nbsp;</td><td>second geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>S</em>&nbsp;</td><td>point-point-distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> 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>geometry1</em>&nbsp;</td><td>first geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry2</em>&nbsp;</td><td>second geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em>&nbsp;</td><td><a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to calculate distance between two points </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the distance (either a double or a <a class="el" href="structggl_1_1distance__result.html" title="Shortcut to define return type of distance strategy.">distance_result</a>, (convertable to double)) </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> can be a point-point <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. In case of distance point-line/point-polygon it may also be a point-segment <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. </dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing distance calculation of two lat long points, using the accurate Vincenty approximation <div class="fragment"><pre class="fragment">{
+ <span class="comment">/*</span>
+<span class="comment"> Extension, other coordinate system:</span>
+<span class="comment"> typedef ggl::point_ll&lt;double, ggl::cs::geographic&lt;ggl::degree&gt; &gt; LL;</span>
+<span class="comment"> LL a, r;</span>
+<span class="comment"> ggl::read_wkt("POINT(4.89222 52.3731)", a);</span>
+<span class="comment"> ggl::read_wkt("POINT(4.47917 51.9308)", r);</span>
+<span class="comment"></span>
+<span class="comment"> std::cout &lt;&lt; "Distance Amsterdam-Rotterdam is "</span>
+<span class="comment"> &lt;&lt; ggl::distance(a, r,</span>
+<span class="comment"> ggl::strategy::distance::vincenty&lt;LL&gt;() )</span>
+<span class="comment"> / 1000.0</span>
+<span class="comment"> &lt;&lt; " kilometers " &lt;&lt; std::endl;</span>
+<span class="comment"> */</span>
+}
+</pre></div> </dd></dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="01__point__example_8cpp-example.html#a4">01_point_example.cpp</a>, <a class="el" href="02__linestring__example_8cpp-example.html#a10">02_linestring_example.cpp</a>, <a class="el" href="07__graph__route__example_8cpp-example.html#a6">07_graph_route_example.cpp</a>, <a class="el" href="c01__custom__point__example_8cpp-example.html#a5">c01_custom_point_example.cpp</a>, and <a class="el" href="x03__a__soci__example_8cpp-example.html#a1">x03_a_soci_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="algorithms_2distance_8hpp_source.html#l00282">282</a> of file <a class="el" href="algorithms_2distance_8hpp_source.html">distance.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gd122aa78e960f37b9d61bb02c6913f55"></a><!-- doxytag: member="ggl::distance" ref="gd122aa78e960f37b9d61bb02c6913f55" args="(Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry1 , typename Geometry2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">distance_result&lt;Geometry1, Geometry2&gt;::type ggl::distance </td>
+ <td>(</td>
+ <td class="paramtype">Geometry1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Geometry2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate distance between two geometries.
+<p>
+The default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> is used, belonging to the corresponding coordinate system of the geometries <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>G1</em>&nbsp;</td><td>first geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>G2</em>&nbsp;</td><td>second 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>geometry1</em>&nbsp;</td><td>first geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry2</em>&nbsp;</td><td>second geometry </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the distance (either a double or a distance result, convertable to double) </dd></dl>
+
+<p>Definition at line <a class="el" href="algorithms_2distance_8hpp_source.html#l00328">328</a> of file <a class="el" href="algorithms_2distance_8hpp_source.html">distance.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g9bf8e81819c5cdbff3111e148ead0331"></a><!-- doxytag: member="ggl::make_distance_result" ref="g9bf8e81819c5cdbff3111e148ead0331" args="(T const &amp;value)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename R , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">R ggl::make_distance_result </td>
+ <td>(</td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>value</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Object generator to create instance which can be compared.
+<p>
+If distance results have to be compared to a certain value it makes sense to use this function to generate a distance result of a certain value, and compare the distance result with this instance. SQRT calculations are then avoided <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>R</em>&nbsp;</td><td>distance result type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>arithmetic type, e.g. double </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>value</em>&nbsp;</td><td>the distance to compare with </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the distance result </dd></dl>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00242">242</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ge8ca95bca0a05bf37ceee1996d55c098"></a><!-- doxytag: member="ggl::close_to_zero" ref="ge8ca95bca0a05bf37ceee1996d55c098" args="(T const &amp;value)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::close_to_zero </td>
+ <td>(</td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>value</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Utility function to check if a distance is very small.
+<p>
+Depending on the "distance result" type it checks if it is smaller than epsilon, or (for Cartesian distances) if the square is smaller than epsilon <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>R</em>&nbsp;</td><td>the distance result type, either arithmetic or cartesian distance </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>value</em>&nbsp;</td><td>the distance result to check </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00257">257</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__envelope.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__envelope.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,300 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>envelope calculation</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__envelope.html">ggl::strategy_envelope&lt; TP, TB, P, B &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding envelope <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename B &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g89671917cfb1753f65d4bcc2fc334bf9">ggl::envelope</a> (G const &amp;geometry, B &amp;mbr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate envelope of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename B , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36">ggl::envelope</a> (G const &amp;geometry, B &amp;mbr, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate envelope of a geometry, using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename B , typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">B&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g938cf2804a87e138cbf4b5b65314a3e4">ggl::make_envelope</a> (G const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename B , typename G , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">B&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d">ggl::make_envelope</a> (G const &amp;geometry, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<dl class="user" compact><dt><b>Source descriptions:</b></dt><dd><ul>
+<li>OGC: Envelope (): Geometry - The minimum bounding rectangle (MBR) for this Geometry, returned as a Geometry. The polygon is defined by the corner points of the bounding box [(MINX, MINY), (MAXX, MINY), (MAXX, MAXY), (MINX, MAXY), (MINX, MINY)].</li></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Implemented in the Generic Geometry Library: The minimum bounding box, always as a box, having min &lt;= max</dd></dl>
+The envelope algorithm calculates the bounding box, or envelope, of a geometry. There are two versions:<ul>
+<li>envelope, taking a reference to a box as second parameter</li><li>make_envelope, returning a newly constructed box (type as a template parameter in the function call)</li><li>either of them has an optional strategy</li></ul>
+<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li>POINT: a box with zero area, the maximum and the minimum point of the box are set to the point itself.</li><li>LINESTRING, RING or RANGE is the smallest box that contains all points of the specified point sequence. If the linestring is empty, the envelope is the inverse infinite box, that is, the minimum point is very large (max infinite) and the maximum point is very small (min infinite).</li><li>POLYGON, the envelope of the outer ring <div align="center">
+<img src="envelope_polygon.png" alt="envelope_polygon.png">
+</div>
+</li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing envelope calculation <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&lt;ggl::point_xy&lt;double&gt;</a> &gt; line;
+ ggl::read_wkt(<span class="stringliteral">"linestring(0 0,1 1,4 8,3 2)"</span>, line);
+ <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box&lt;ggl::point_xy&lt;double&gt;</a> &gt; box;
+ <a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">ggl::envelope</a>(line, box);
+
+ std::cout &lt;&lt; <span class="stringliteral">"envelope is "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(box) &lt;&lt; std::endl;
+}
+</pre></div> </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g376bdcefa676ef2b705656b690767b36"></a><!-- doxytag: member="ggl::envelope" ref="g376bdcefa676ef2b705656b690767b36" args="(G const &amp;geometry, B &amp;mbr, S const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename B , typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::envelope </td>
+ <td>(</td>
+ <td class="paramtype">G const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">B &amp;&nbsp;</td>
+ <td class="paramname"> <em>mbr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>strategy</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate envelope of a geometry, using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>.
+<p>
+<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>&nbsp;</td><td>the geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>mbr</em>&nbsp;</td><td>the <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> receiving the envelope </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em>&nbsp;</td><td><a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to be used </td></tr>
+ </table>
+</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>
+
+</div>
+</div><p>
+<a class="anchor" name="g89671917cfb1753f65d4bcc2fc334bf9"></a><!-- doxytag: member="ggl::envelope" ref="g89671917cfb1753f65d4bcc2fc334bf9" args="(G const &amp;geometry, B &amp;mbr)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::envelope </td>
+ <td>(</td>
+ <td class="paramtype">G const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">B &amp;&nbsp;</td>
+ <td class="paramname"> <em>mbr</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate envelope of a geometry.
+<p>
+<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>&nbsp;</td><td>the geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>mbr</em>&nbsp;</td><td>the <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> receiving the envelope </td></tr>
+ </table>
+</dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing envelope calculation, using point_ll latlong points <div class="fragment"><pre class="fragment">{
+ <span class="comment">/*</span>
+<span class="comment"> Extension, other coordinate system:</span>
+<span class="comment"> using namespace ggl;</span>
+<span class="comment"> typedef point_ll&lt;double, ggl::cs::geographic&lt;ggl::degree&gt; &gt; LL;</span>
+<span class="comment"></span>
+<span class="comment"> // Wrangel island, 180 meridian crossing island above Siberia.</span>
+<span class="comment"> polygon&lt;LL&gt; wrangel;</span>
+<span class="comment"> wrangel.outer().push_back(LL(latitude&lt;&gt;(dms&lt;north&gt;(70, 47, 7)), longitude&lt;&gt;(dms&lt;west&gt;(178, 47, 9))));</span>
+<span class="comment"> wrangel.outer().push_back(LL(latitude&lt;&gt;(dms&lt;north&gt;(71, 14, 0)), longitude&lt;&gt;(dms&lt;east&gt;(177, 28, 33))));</span>
+<span class="comment"> wrangel.outer().push_back(LL(latitude&lt;&gt;(dms&lt;north&gt;(71, 34, 24)), longitude&lt;&gt;(dms&lt;east&gt;(179, 44, 37))));</span>
+<span class="comment"> // Close it</span>
+<span class="comment"> wrangel.outer().push_back(wrangel.outer().front());</span>
+<span class="comment"></span>
+<span class="comment"> ggl::box&lt;LL&gt; box;</span>
+<span class="comment"> ggl::envelope(wrangel, box);</span>
+<span class="comment"></span>
+<span class="comment"> dms&lt;cd_lat&gt; minlat(box.min_corner().lat());</span>
+<span class="comment"> dms&lt;cd_lon&gt; minlon(box.min_corner().lon());</span>
+<span class="comment"></span>
+<span class="comment"> dms&lt;cd_lat&gt; maxlat(box.max_corner().lat());</span>
+<span class="comment"> dms&lt;cd_lon&gt; maxlon(box.max_corner().lon());</span>
+<span class="comment"></span>
+<span class="comment"> std::cout &lt;&lt; wrangel &lt;&lt; std::endl;</span>
+<span class="comment"> std::cout &lt;&lt; "min: " &lt;&lt; minlat.get_dms() &lt;&lt; " , " &lt;&lt; minlon.get_dms() &lt;&lt; std::endl;</span>
+<span class="comment"> std::cout &lt;&lt; "max: " &lt;&lt; maxlat.get_dms() &lt;&lt; " , " &lt;&lt; maxlon.get_dms() &lt;&lt; std::endl;</span>
+<span class="comment"> */</span>
+}
+</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>
+
+</div>
+</div><p>
+<a class="anchor" name="g0b2b7b9ef2bc07f4b45695606f3d292d"></a><!-- doxytag: member="ggl::make_envelope" ref="g0b2b7b9ef2bc07f4b45695606f3d292d" args="(G const &amp;geometry, S const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename B , typename G , typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">B ggl::make_envelope </td>
+ <td>(</td>
+ <td class="paramtype">G const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>strategy</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate and return envelope of a geometry.
+<p>
+<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>&nbsp;</td><td>the geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em>&nbsp;</td><td>the <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to be used </td></tr>
+ </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>
+
+</div>
+</div><p>
+<a class="anchor" name="g938cf2804a87e138cbf4b5b65314a3e4"></a><!-- doxytag: member="ggl::make_envelope" ref="g938cf2804a87e138cbf4b5b65314a3e4" args="(G const &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename B , typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">B ggl::make_envelope </td>
+ <td>(</td>
+ <td class="paramtype">G const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate and return envelope of a geometry.
+<p>
+<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>&nbsp;</td><td>the geometry </td></tr>
+ </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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__intermediate.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__intermediate.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>intermediate calculation</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename Iterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3">ggl::intermediate</a> (const G &amp;geometry, bool start_and_end, Iterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate intermediate of a geometry. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The intermediate algorithm calculate points IN BETWEEN of other points <dl class="user" compact><dt><b>Purpose:</b></dt><dd><ul>
+<li>Remove corners in rectangular lines / polygons. Calling them several times will result in smooth lines</li><li>Creating 3D models </li></ul>
+</dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gf847d50ccb579a7d771988c1971eb0b3"></a><!-- doxytag: member="ggl::intermediate" ref="gf847d50ccb579a7d771988c1971eb0b3" args="(const G &amp;geometry, bool start_and_end, Iterator out)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename Iterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::intermediate </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>start_and_end</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Iterator&nbsp;</td>
+ <td class="paramname"> <em>out</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate intermediate of a geometry.
+<p>
+
+<p>Definition at line <a class="el" href="intermediate_8hpp_source.html#l00119">119</a> of file <a class="el" href="intermediate_8hpp_source.html">intermediate.hpp</a>.</p>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__length.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__length.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,178 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>length calculation</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#ge20f9cdc37ebded2be03934edb05c3dd">ggl::length</a> (G const &amp;geometry, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate length of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa">ggl::length</a> (const G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate length of a geometry. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The length algorithm is implemented for the linestring and the multi_linestring geometry and results in the length of the linestring. If the points of a linestring have coordinates expressed in kilometers, the length of the line is expressed in kilometers as well. <dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing length calculation <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&lt;ggl::point_xy&lt;double&gt;</a> &gt; line;
+ ggl::read_wkt(<span class="stringliteral">"linestring(0 0,1 1,4 8,3 2)"</span>, line);
+ std::cout &lt;&lt; <span class="stringliteral">"linestring length is "</span>
+ &lt;&lt; <a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">ggl::length</a>(line)
+ &lt;&lt; <span class="stringliteral">" units"</span> &lt;&lt; std::endl;
+}
+</pre></div> </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g7e3572634111ae0252a474a7f435c5aa"></a><!-- doxytag: member="ggl::length" ref="g7e3572634111ae0252a474a7f435c5aa" args="(const G &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">double ggl::length </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate length of a geometry.
+<p>
+The function length returns the length of a geometry, using the default distance-calculation-strategy <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>&nbsp;</td><td>the geometry, 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>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the length Example showing length calculation on a vector <div class="fragment"><pre class="fragment">{
+ std::vector&lt;ggl::point_xy&lt;double&gt; &gt; line;
+ ggl::read_wkt&lt;ggl::point_xy&lt;double&gt; &gt;(<span class="stringliteral">"linestring(0 0,1 1,4 8,3 2)"</span>, std::back_inserter(line));
+ std::cout &lt;&lt; <span class="stringliteral">"linestring length is "</span>
+ &lt;&lt; <a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">ggl::length</a>(line)
+ &lt;&lt; <span class="stringliteral">" units"</span> &lt;&lt; std::endl;
+}
+</pre></div> </dd></dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="02__linestring__example_8cpp-example.html#a8">02_linestring_example.cpp</a>, <a class="el" href="07__graph__route__example_8cpp-example.html#a4">07_graph_route_example.cpp</a>, and <a class="el" href="c05__custom__point__pointer__example_8cpp-example.html#a1">c05_custom_point_pointer_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="algorithms_2length_8hpp_source.html#l00139">139</a> of file <a class="el" href="algorithms_2length_8hpp_source.html">length.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ge20f9cdc37ebded2be03934edb05c3dd"></a><!-- doxytag: member="ggl::length" ref="ge20f9cdc37ebded2be03934edb05c3dd" args="(G const &amp;geometry, S const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">double ggl::length </td>
+ <td>(</td>
+ <td class="paramtype">G const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>strategy</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate length of a geometry.
+<p>
+The function length returns the length of a geometry, using specified <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>&nbsp;</td><td>the geometry, 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><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em>&nbsp;</td><td><a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to be used for distance calculations. </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the length </dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing length calculation using iterators and the Vincenty <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> <div class="fragment"><pre class="fragment">{
+ <span class="comment">/*</span>
+<span class="comment"> Extension, other coordinate system:</span>
+<span class="comment"> using namespace ggl;</span>
+<span class="comment"> typedef point_ll&lt;float, ggl::cs::geographic&lt;ggl::degree&gt; &gt; LL;</span>
+<span class="comment"> std::deque&lt;LL&gt; line;</span>
+<span class="comment"> ggl::read_wkt&lt;LL&gt;("linestring(0 51,1 51,2 52)", std::back_inserter(line));</span>
+<span class="comment"> std::cout &lt;&lt; "linestring length is "</span>
+<span class="comment"> &lt;&lt; 0.001 * ggl::length(line, ggl::strategy::distance::vincenty&lt;LL&gt;())</span>
+<span class="comment"> &lt;&lt; " kilometers" &lt;&lt; std::endl;</span>
+<span class="comment"> */</span>
+}
+</pre></div> </dd></dl>
+
+<p>Definition at line <a class="el" href="algorithms_2length_8hpp_source.html#l00174">174</a> of file <a class="el" href="algorithms_2length_8hpp_source.html">length.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__loop.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__loop.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,380 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>loops and for-each functionality</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#gbce8332305fc715d4587e7d78c21e4aa">ggl::for_each_point</a> (G &amp;geometry, F f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a">ggl::for_each_point</a> (G const &amp;geometry, F f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#gf3b5b3004fc802700882f9f4a184564a">ggl::for_each_segment</a> (G &amp;geometry, F f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for segments on linestrings, rings, polygons, ... <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3">ggl::for_each_segment</a> (const G &amp;geometry, F f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for segments on linestrings, rings, polygons, ... <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename R , typename F , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f">ggl::loop</a> (R const &amp;range, F const &amp;functor, S &amp;state)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loops through segments of a container and call specified functor for all segments. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+There are several algorithms provided which walk through the points or segments of linestrings and polygons. They are called for_each_point, for_each_segment, after the standard library, and <b>loop</b> which is more adapted and of which the functor could break out if necessary. Of the for_each algorithms there is a <b>const</b> and a non-const version provided. <hr><h2>Function Documentation</h2>
+<a class="anchor" name="g71cb52ab6490726f9030b464aa2f5e8a"></a><!-- doxytag: member="ggl::for_each_point" ref="g71cb52ab6490726f9030b464aa2f5e8a" args="(G const &amp;geometry, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point </td>
+ <td>(</td>
+ <td class="paramtype">G const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calls functor for geometry.
+<p>
+<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>&nbsp;</td><td>geometry to loop through </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>functor to use Calls the functor the specified <b>const</b> geometry </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="02__linestring__example_8cpp-example.html#a13">02_linestring_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="for__each_8hpp_source.html#l00214">214</a> of file <a class="el" href="for__each_8hpp_source.html">for_each.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gbce8332305fc715d4587e7d78c21e4aa"></a><!-- doxytag: member="ggl::for_each_point" ref="gbce8332305fc715d4587e7d78c21e4aa" args="(G &amp;geometry, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calls functor for geometry.
+<p>
+<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>&nbsp;</td><td>geometry to loop through </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>functor to use Calls the functor for the specified geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="for__each_8hpp_source.html#l00234">234</a> of file <a class="el" href="for__each_8hpp_source.html">for_each.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gefcad88c6ee4e308e1003eff7752b3f3"></a><!-- doxytag: member="ggl::for_each_segment" ref="gefcad88c6ee4e308e1003eff7752b3f3" args="(const G &amp;geometry, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_segment </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calls functor for segments on linestrings, rings, polygons, ...
+<p>
+<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>&nbsp;</td><td>geometry to loop through </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>functor to use Calls the functor all <b>const</b> segments of the specified <b>const</b> geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="for__each_8hpp_source.html#l00247">247</a> of file <a class="el" href="for__each_8hpp_source.html">for_each.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gf3b5b3004fc802700882f9f4a184564a"></a><!-- doxytag: member="ggl::for_each_segment" ref="gf3b5b3004fc802700882f9f4a184564a" args="(G &amp;geometry, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_segment </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calls functor for segments on linestrings, rings, polygons, ...
+<p>
+<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>&nbsp;</td><td>geometry to loop through </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>functor to use Calls the functor all segments of the specified geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="for__each_8hpp_source.html#l00261">261</a> of file <a class="el" href="for__each_8hpp_source.html">for_each.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g1ff95a74f261e15dfa714146bdcbf23f"></a><!-- doxytag: member="ggl::loop" ref="g1ff95a74f261e15dfa714146bdcbf23f" args="(R const &amp;range, F const &amp;functor, S &amp;state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename R , typename F , typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::loop </td>
+ <td>(</td>
+ <td class="paramtype">R const &amp;&nbsp;</td>
+ <td class="paramname"> <em>range</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F const &amp;&nbsp;</td>
+ <td class="paramname"> <em>functor</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Loops through segments of a container and call specified functor for all segments.
+<p>
+for_each like implementation to:<ul>
+<li>walk over const segments of a linestring/polygon</li><li>be able to break out the loop (if the functor returns false)</li><li>have a const functor and keep state in separate state-object</li><li>we still keep the "functor" here so it might be a function or an object, at this place</li><li>in most algorithms the typename F::state_type is used; in those places it must be an object</li></ul>
+<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>R</em>&nbsp;</td><td>range type, for example a vector, <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_1linear__ring.html" title="A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting...">linear_ring</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>F</em>&nbsp;</td><td>functor type, class or function, not modified by the algorithm </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>S</em>&nbsp;</td><td>state type, might be modified </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>range</em>&nbsp;</td><td>range (<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> iterator pair,vector,list,deque) containing points </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>functor</em>&nbsp;</td><td>functor which is called at each const <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>state</em>&nbsp;</td><td>state, specified separately from the <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> functor </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>false if the functor returns false, otherwise true </dd></dl>
+<dl class="user" compact><dt><b>Concepts</b></dt><dd><ul>
+<li><em>V</em> <ul>
+<li>const_iterator begin()</li><li>const_iterator end()</li><li>value_type</li></ul>
+</li><li><em>F</em> <ul>
+<li><em>if it is a function functor</em>: bool <b>function</b> (const <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>&amp;, state&amp;)</li><li><em>if it is a class functor</em>: bool operator()(const segment&amp;, state&amp;) const</li></ul>
+</li><li><em>S</em> <ul>
+<li>no specific requirements here, requirments given by F </li></ul>
+</li></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Some algorithms from the Generic Geometry Library, for example within, centroid, use this method. </dd></dl>
+<dl class="user" compact><dt><b>Examples:</b></dt><dd>First example, using a class functor <div class="fragment"><pre class="fragment">{
+ <span class="comment">// Class functor</span>
+ <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+ <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>
+ {
+ <span class="keyword">struct </span>summation
+ {
+ <span class="keywordtype">double</span> sum;
+ summation() : sum(0) {}
+ };
+
+ <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">ggl::segment&lt;const P&gt;</a>&amp; segment, summation&amp; s)<span class="keyword"> const</span>
+<span class="keyword"> </span>{
+ std::cout &lt;&lt; <span class="stringliteral">"from "</span> &lt;&lt; segment.<a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a> &lt;&lt; <span class="stringliteral">" to "</span> &lt;&lt; segment.<a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a> &lt;&lt; std::endl;
+ s.sum += <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(segment.<a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a>, segment.<a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a>);
+ <span class="keywordflow">return</span> <span class="keyword">true</span>;
+ }
+ };
+
+ <span class="keywordtype">void</span> example()
+ {
+ <span class="keyword">typedef</span> <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy&lt;double&gt;</a> P;
+ <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">ggl::polygon&lt;P&gt;</a> poly;
+ ggl::read_wkt(<span class="stringliteral">"POLYGON((0 0,0 7,4 2,2 0,0 0))"</span>, poly);
+ perimeter&lt;P&gt;::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&lt;P&gt;(), peri);
+ std::cout &lt;&lt; <span class="stringliteral">"Perimeter: "</span> &lt;&lt; peri.sum &lt;&lt; std::endl;
+ }
+} <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
+ {
+ <span class="keywordtype">double</span> sum;
+ summation() : sum(0) {}
+ };
+
+ <span class="comment">// Function functor</span>
+ <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+ <span class="keywordtype">bool</span> <a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">ggl::segment&lt;const P&gt;</a>&amp; segment, summation&amp; s)
+ {
+ std::cout &lt;&lt; <span class="stringliteral">"from "</span> &lt;&lt; segment.<a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a> &lt;&lt; <span class="stringliteral">" to "</span> &lt;&lt; segment.<a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a> &lt;&lt; std::endl;
+ s.sum += <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(segment.<a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a>, segment.<a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a>);
+ <span class="keywordflow">return</span> <span class="keyword">true</span>;
+ }
+
+ <span class="keywordtype">void</span> example()
+ {
+ <span class="comment">/*</span>
+<span class="comment"> Extension, other coordinate system:</span>
+<span class="comment"> typedef ggl::point_ll&lt;double, ggl::cs::geographic&lt;ggl::degree&gt; &gt; P;</span>
+<span class="comment"> ggl::polygon&lt;P&gt; poly;</span>
+<span class="comment"> ggl::read_wkt("POLYGON((-178.786 70.7853,177.476 71.2333,179.744 71.5733,-178.786 70.7853))", poly);</span>
+<span class="comment"> summation peri;</span>
+<span class="comment"> ggl::loop(poly.outer(), perimeter&lt;P&gt;, peri);</span>
+<span class="comment"> std::cout &lt;&lt; "Perimeter: " &lt;&lt; peri.sum/1000.0 &lt;&lt; " km" &lt;&lt; std::endl;</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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__overlay.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__overlay.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,563 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>overlay operations (intersection, union, clipping)</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dimensionally Extended 9 Intersection Matrix. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">ggl::strategy::intersection::liang_barsky&lt; B, P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Strategy: line clipping algorithm after Liang Barsky. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename SegmentIdentifier , typename RangeOut &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">ggl::copy_segments</a> (Geometry const &amp;geometry, SegmentIdentifier const &amp;seg_id, int to_index, RangeOut &amp;range_out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traverses through intersection points / geometries. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename IntersectionPoints &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3">ggl::enrich_intersection_points</a> (IntersectionPoints &amp;intersection_points, bool trivial)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All intersection points are enriched with successor information. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename IntersectionPoints &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g402420dc15139d3893450978f30920b9">ggl::get_intersection_points</a> (Geometry const &amp;geometry, IntersectionPoints &amp;intersection_points)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate self intersections of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry1 , typename Geometry2 , typename IntersectionPoints &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9">ggl::get_intersection_points</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, IntersectionPoints &amp;intersection_points)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate intersection points of two geometries. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename GeometryOut , typename Geometry1 , typename Geometry2 , typename OutputIterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5">ggl::intersection</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, OutputIterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersects two geometries which each other. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g5e7b5d7c8e010077237751f3a6b289ec">ggl::intersects</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine if there is at least one intersection (crossing or self-tangency). <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename IntersectionPoints &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f">ggl::merge_intersection_points</a> (IntersectionPoints &amp;intersection_points)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Merges intersection points such that points at the same location will be merged, having one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> and their info-records appended. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename GeometryOut , typename Geometry1 , typename Geometry2 , typename IntersectionPoints , typename OutputIterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d">ggl::traverse</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, int direction, IntersectionPoints &amp;intersection_points, bool trivial, OutputIterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traverses through intersection points / geometries. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The intersection of two geometries A and B is the geometry containing all points of A also belonging to B, but no other elements. The so-called clip is an intersection of a geometry with a box. <dl class="user" compact><dt><b>Source description:</b></dt><dd><ul>
+<li>OGC: Returns a geometric object that represents the Point set intersection of this geometric object with another Geometry. </li></ul>
+</dd></dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Intersection_(set_theory) </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Any intersection can result in no geometry at all<p>
+Used strategies still have to be modelled. Working only for cartesian </dd></dl>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd>The intersection result is painted with a red outline.<ul>
+<li>clip: POLYGON + BOX -&gt; output iterator of polygons <div align="center">
+<img src="clip_polygon.png" alt="clip_polygon.png">
+</div>
+</li><li>clip: LINESTRING + BOX -&gt; output iterator of linestrings <div align="center">
+<img src="clip_linestring.png" alt="clip_linestring.png">
+</div>
+ </li></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>There are some difficulties to model an intersection in the template world. The intersection of two segments can result into nothing, into a point, into another segment. At compiletime the result type is not known. An output iterator iterating points is appropriate here. <div align="center">
+<img src="clip_segment_segment.png" alt="clip_segment_segment.png">
+</div>
+ An intersection of two linestrings can result into nothing, one or more points, one or more segments or one or more linestrings. So an output iterator will NOT do here. So the output might be changed into a unified algorithm where the output is a multi-geometry. For the current clip-only operations the output iterator will do.</dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing clipping of linestring with box <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&lt;double&gt;</a> P;
+ <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&lt;P&gt;</a> 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);
+ <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box&lt;P&gt;</a> cb(P(1.5, 1.5), P(4.5, 2.5));
+ std::cout &lt;&lt; <span class="stringliteral">"Clipped linestring(s) "</span> &lt;&lt; std::endl;
+ <span class="comment">/*</span>
+<span class="comment"> TODO: does not work because streamwkt is now extension and not included</span>
+<span class="comment"> so make other construct</span>
+<span class="comment"> ggl::intersection&lt;ggl::linestring&lt;P&gt; &gt; (cb, line,</span>
+<span class="comment"> std::ostream_iterator&lt;ggl::linestring&lt;P&gt; &gt;(std::cout, "\n"));</span>
+<span class="comment"> */</span>
+}
+</pre></div> </dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing clipping of vector, outputting vectors, with box <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&lt;double&gt;</a> P;
+ std::vector&lt;P&gt; vector_in;
+ ggl::read_wkt&lt;P&gt;(<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>,
+ std::back_inserter(vector_in));
+
+ <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box&lt;P&gt;</a> cb(P(1.5, 1.5), P(4.5, 2.5));
+ <span class="keyword">typedef</span> std::vector&lt;std::vector&lt;P&gt; &gt; VV;
+ VV vector_out;
+ ggl::intersection&lt;std::vector&lt;P&gt; &gt;(cb, vector_in, std::back_inserter(vector_out));
+
+ std::cout &lt;&lt; <span class="stringliteral">"Clipped vector(s) "</span> &lt;&lt; std::endl;
+ <span class="keywordflow">for</span> (VV::const_iterator it = vector_out.begin(); it != vector_out.end(); it++)
+ {
+ std::copy(it-&gt;begin(), it-&gt;end(), std::ostream_iterator&lt;P&gt;(std::cout, <span class="stringliteral">" "</span>));
+ std::cout &lt;&lt; std::endl;
+ }
+</pre></div> </dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing clipping of polygon with box <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&lt;double&gt;</a> P;
+ <span class="keyword">typedef</span> std::vector&lt;ggl::polygon&lt;P&gt; &gt; PV;
+
+ <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box&lt;P&gt;</a> cb(P(1.5, 1.5), P(4.5, 2.5));
+ <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">ggl::polygon&lt;P&gt;</a> poly;
+ ggl::read_wkt(<span class="stringliteral">"POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3)"</span>
+ <span class="stringliteral">",(4 2,4.2 1.4,4.8 1.9,4.4 2.2,4 2))"</span>, poly);
+
+ PV v;
+ ggl::intersection&lt;ggl::polygon&lt;P&gt; &gt;(cb, poly, std::back_inserter(v));
+
+ std::cout &lt;&lt; <span class="stringliteral">"Clipped polygon(s) "</span> &lt;&lt; std::endl;
+ <span class="keywordflow">for</span> (PV::const_iterator it = v.begin(); it != v.end(); it++)
+ {
+ std::cout &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(*it) &lt;&lt; std::endl;
+ }
+</pre></div> </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g60644b53b334602956f0722e9dfb69b5"></a><!-- doxytag: member="ggl::intersection" ref="g60644b53b334602956f0722e9dfb69b5" args="(Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, OutputIterator out)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename GeometryOut , typename Geometry1 , typename Geometry2 , typename OutputIterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">OutputIterator ggl::intersection </td>
+ <td>(</td>
+ <td class="paramtype">Geometry1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Geometry2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">OutputIterator&nbsp;</td>
+ <td class="paramname"> <em>out</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Intersects two geometries which each other.
+<p>
+A sequence of points is intersected (clipped) by the specified <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> and the resulting <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>, or pieces of linestrings, are sent to the specified output operator. <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>GeometryOut</em>&nbsp;</td><td>output geometry type, must be specified </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Geometry1</em>&nbsp;</td><td>first geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Geometry2</em>&nbsp;</td><td>second geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>OutputIterator</em>&nbsp;</td><td>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>geometry1</em>&nbsp;</td><td>first geometry (currently only a BOX) </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry2</em>&nbsp;</td><td>second geometry (range, <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>) </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>the output iterator, outputting linestrings or polygons </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the output iterator </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>For linestrings: the default clipping <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>, Liang-Barsky, is used. The algorithm is currently only implemented for 2D xy points. It could be generic for most ll cases, but not across the 180 meridian so that issue is still on the todo-list. </dd></dl>
+
+<p>Definition at line <a class="el" href="algorithms_2intersection_8hpp_source.html#l00424">424</a> of file <a class="el" href="algorithms_2intersection_8hpp_source.html">intersection.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g5e7b5d7c8e010077237751f3a6b289ec"></a><!-- doxytag: member="ggl::intersects" ref="g5e7b5d7c8e010077237751f3a6b289ec" args="(Geometry const &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::intersects </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Determine if there is at least one intersection (crossing or self-tangency).
+<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>This function can be called for one geometry (self-intersection) and also for two geometries (intersection)</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>Geometry</em>&nbsp;</td><td>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>&nbsp;</td><td>geometry </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if there are intersections, else FALSE </dd></dl>
+
+<p>Definition at line <a class="el" href="intersects_8hpp_source.html#l00040">40</a> of file <a class="el" href="intersects_8hpp_source.html">intersects.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g72698a9e6c8319f77d1481537096c890"></a><!-- doxytag: member="ggl::copy_segments" ref="g72698a9e6c8319f77d1481537096c890" args="(Geometry const &amp;geometry, SegmentIdentifier const &amp;seg_id, int to_index, RangeOut &amp;range_out)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename SegmentIdentifier , typename RangeOut &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::copy_segments </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">SegmentIdentifier const &amp;&nbsp;</td>
+ <td class="paramname"> <em>seg_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>to_index</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">RangeOut &amp;&nbsp;</td>
+ <td class="paramname"> <em>range_out</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Traverses through intersection points / geometries.
+<p>
+
+<p>Definition at line <a class="el" href="copy__segments_8hpp_source.html#l00195">195</a> of file <a class="el" href="copy__segments_8hpp_source.html">copy_segments.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g379db9c2e9741b685302a21f86ea24f3"></a><!-- doxytag: member="ggl::enrich_intersection_points" ref="g379db9c2e9741b685302a21f86ea24f3" args="(IntersectionPoints &amp;intersection_points, bool trivial)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename IntersectionPoints &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::enrich_intersection_points </td>
+ <td>(</td>
+ <td class="paramtype">IntersectionPoints &amp;&nbsp;</td>
+ <td class="paramname"> <em>intersection_points</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>trivial</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+All intersection points are enriched with successor information.
+<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>IntersectionPoints</em>&nbsp;</td><td>type of intersection container (e.g. vector of "intersection_point"'s) </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>intersection_points</em>&nbsp;</td><td>container containing intersectionpoints </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>trivial</em>&nbsp;</td><td>Boolean flag to indicate that it is trivial, only intersections, no touch, collinearities, etc. </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="enrich__intersection__points_8hpp_source.html#l00464">464</a> of file <a class="el" href="enrich__intersection__points_8hpp_source.html">enrich_intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g9b41efeface4cb10fbce39c8bcc8bec9"></a><!-- doxytag: member="ggl::get_intersection_points" ref="g9b41efeface4cb10fbce39c8bcc8bec9" args="(Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, IntersectionPoints &amp;intersection_points)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry1 , typename Geometry2 , typename IntersectionPoints &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::get_intersection_points </td>
+ <td>(</td>
+ <td class="paramtype">Geometry1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Geometry2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IntersectionPoints &amp;&nbsp;</td>
+ <td class="paramname"> <em>intersection_points</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate intersection points of two geometries.
+<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>&nbsp;</td><td>first geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Geometry2</em>&nbsp;</td><td>second geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>IntersectionPoints</em>&nbsp;</td><td>type of intersection container (e.g. vector of "intersection_point"'s) </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>geometry1</em>&nbsp;</td><td>first geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry2</em>&nbsp;</td><td>second geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>intersection_points</em>&nbsp;</td><td>container which will contain intersection points </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if it is trivial, else FALSE </dd></dl>
+
+<p>Definition at line <a class="el" href="get__intersection__points_8hpp_source.html#l00682">682</a> of file <a class="el" href="get__intersection__points_8hpp_source.html">get_intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gc1dcd7471f802810f7d48b36eea24d0f"></a><!-- doxytag: member="ggl::merge_intersection_points" ref="gc1dcd7471f802810f7d48b36eea24d0f" args="(IntersectionPoints &amp;intersection_points)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename IntersectionPoints &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::merge_intersection_points </td>
+ <td>(</td>
+ <td class="paramtype">IntersectionPoints &amp;&nbsp;</td>
+ <td class="paramname"> <em>intersection_points</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Merges intersection points such that points at the same location will be merged, having one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> and their info-records appended.
+<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>IntersectionPoints</em>&nbsp;</td><td>type of intersection container (e.g. vector of "intersection_point"'s) </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>intersection_points</em>&nbsp;</td><td>container containing intersectionpoints </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="merge__intersection__points_8hpp_source.html#l00170">170</a> of file <a class="el" href="merge__intersection__points_8hpp_source.html">merge_intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g402420dc15139d3893450978f30920b9"></a><!-- doxytag: member="ggl::get_intersection_points" ref="g402420dc15139d3893450978f30920b9" args="(Geometry const &amp;geometry, IntersectionPoints &amp;intersection_points)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename IntersectionPoints &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::get_intersection_points </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IntersectionPoints &amp;&nbsp;</td>
+ <td class="paramname"> <em>intersection_points</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate self intersections 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>Geometry</em>&nbsp;</td><td>geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>IntersectionPoints</em>&nbsp;</td><td>type of intersection container (e.g. vector of "intersection_point"'s) </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>&nbsp;</td><td>geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>intersection_points</em>&nbsp;</td><td>container which will contain intersection points </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if it is trivial, else FALSE </dd></dl>
+
+<p>Definition at line <a class="el" href="self__intersection__points_8hpp_source.html#l00149">149</a> of file <a class="el" href="self__intersection__points_8hpp_source.html">self_intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g05c8da6bfcd1aa911c5520ac991fdc0d"></a><!-- doxytag: member="ggl::traverse" ref="g05c8da6bfcd1aa911c5520ac991fdc0d" args="(Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, int direction, IntersectionPoints &amp;intersection_points, bool trivial, OutputIterator out)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename GeometryOut , typename Geometry1 , typename Geometry2 , typename IntersectionPoints , typename OutputIterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::traverse </td>
+ <td>(</td>
+ <td class="paramtype">Geometry1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Geometry2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>direction</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IntersectionPoints &amp;&nbsp;</td>
+ <td class="paramname"> <em>intersection_points</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>trivial</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">OutputIterator&nbsp;</td>
+ <td class="paramname"> <em>out</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Traverses through intersection points / geometries.
+<p>
+
+<p>Definition at line <a class="el" href="traverse_8hpp_source.html#l00302">302</a> of file <a class="el" href="traverse_8hpp_source.html">traverse.hpp</a>.</p>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__perimeter.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__perimeter.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,149 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>perimeter calculation</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g840995936a96075829b48a29a4a33b19">ggl::perimeter</a> (Geometry const &amp;geometry, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate perimeter of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba">ggl::perimeter</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate perimeter of a geometry. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The perimeter algorithm is implemented for polygon,box,linear_ring,multi_polygon <hr><h2>Function Documentation</h2>
+<a class="anchor" name="g7d52bc6ace3c3dbc9bdac84e6f0076ba"></a><!-- doxytag: member="ggl::perimeter" ref="g7d52bc6ace3c3dbc9bdac84e6f0076ba" args="(Geometry const &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">double ggl::perimeter </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate perimeter of a geometry.
+<p>
+The function perimeter returns the perimeter of a geometry, using the default distance-calculation-strategy <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>&nbsp;</td><td>the geometry, be it a ggl::ring, vector, iterator pair, or any other boost compatible range </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the perimeter </dd></dl>
+
+<p>Definition at line <a class="el" href="algorithms_2perimeter_8hpp_source.html#l00100">100</a> of file <a class="el" href="algorithms_2perimeter_8hpp_source.html">perimeter.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g840995936a96075829b48a29a4a33b19"></a><!-- doxytag: member="ggl::perimeter" ref="g840995936a96075829b48a29a4a33b19" args="(Geometry const &amp;geometry, Strategy const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Strategy &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">double ggl::perimeter </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Strategy const &amp;&nbsp;</td>
+ <td class="paramname"> <em>strategy</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate perimeter of a geometry.
+<p>
+The function perimeter returns the perimeter of a geometry, using specified <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>&nbsp;</td><td>the geometry, be it a ggl::ring, vector, iterator pair, or any other boost compatible range </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em>&nbsp;</td><td><a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to be used for distance calculations. </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the perimeter </dd></dl>
+
+<p>Definition at line <a class="el" href="algorithms_2perimeter_8hpp_source.html#l00129">129</a> of file <a class="el" href="algorithms_2perimeter_8hpp_source.html">perimeter.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__sectionalize.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__sectionalize.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,194 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>sectionalize: split a geometry (polygon, linestring, etc)</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure containing <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a> information. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1sections.html">ggl::sections&lt; Box, DimensionCount &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename Geometry , typename Section &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__sectionalize.html#g5c0732d32eb6c6154f615b3a3337f4b9">ggl::get_section</a> (Geometry const &amp;geometry, Section const &amp;section, typename point_const_iterator&lt; Geometry &gt;::type &amp;begin, typename point_const_iterator&lt; Geometry &gt;::type &amp;end)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename Geometry , typename Sections &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1">ggl::sectionalize</a> (Geometry const &amp;geometry, Sections &amp;sections)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Split a geometry into monotonic <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+into monotonic sections<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<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 &amp;geometry, Section const &amp;section, typename point_const_iterator&lt; Geometry &gt;::type &amp;begin, typename point_const_iterator&lt; Geometry &gt;::type &amp;end)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Section &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::get_section </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Section const &amp;&nbsp;</td>
+ <td class="paramname"> <em>section</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename point_const_iterator&lt; Geometry &gt;::type &amp;&nbsp;</td>
+ <td class="paramname"> <em>begin</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename point_const_iterator&lt; Geometry &gt;::type &amp;&nbsp;</td>
+ <td class="paramname"> <em>end</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get iterators for a specified <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</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>Geometry</em>&nbsp;</td><td>type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Section</em>&nbsp;</td><td>type of <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a> to get from </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>&nbsp;</td><td>geometry which might be located in the neighborhood </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a></em>&nbsp;</td><td>structure with <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>begin</em>&nbsp;</td><td>begin-iterator (const iterator over points of <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a>) </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>end</em>&nbsp;</td><td>end-iterator (const iterator over points of <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a>) </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="algorithms_2get__section_8hpp_source.html#l00085">85</a> of file <a class="el" href="algorithms_2get__section_8hpp_source.html">get_section.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g94c69212e1ba4829515eb5a31acd29e1"></a><!-- doxytag: member="ggl::sectionalize" ref="g94c69212e1ba4829515eb5a31acd29e1" args="(Geometry const &amp;geometry, Sections &amp;sections)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry , typename Sections &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::sectionalize </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Sections &amp;&nbsp;</td>
+ <td class="paramname"> <em>sections</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Split a geometry into monotonic <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</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>Geometry</em>&nbsp;</td><td>type of geometry to check </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Sections</em>&nbsp;</td><td>type of <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a> to create </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>&nbsp;</td><td>geometry to create <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a> from </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a></em>&nbsp;</td><td>structure with <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a> </td></tr>
+ </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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__selected.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__selected.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,131 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>selection: check if a geometry is "selected" by a point</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename P , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3">ggl::selected</a> (G const &amp;geometry, P const &amp;selection_point, T const &amp;search_radius)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if one geometry is selected by a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> lying within or in the neighborhood of that geometry. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Checks if one geometry is selected by a point lying within or in the neighborhood of that geometry<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li>POINT: checks if points are CLOSE TO each other (&lt; search_radius)</li><li>LINESTRING: checks if selection point is CLOSE TO linestring (&lt; search_radius)</li><li>RING: checks if selection point is INSIDE the ring, search radius is ignored</li><li>POLYGON: checks if selection point is INSIDE the polygon, but not inside any of its holes </li></ul>
+</dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g9607e50fb982b6dd259eb0329512bca3"></a><!-- doxytag: member="ggl::selected" ref="g9607e50fb982b6dd259eb0329512bca3" args="(G const &amp;geometry, P const &amp;selection_point, T const &amp;search_radius)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename P , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::selected </td>
+ <td>(</td>
+ <td class="paramtype">G const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P const &amp;&nbsp;</td>
+ <td class="paramname"> <em>selection_point</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>search_radius</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Checks if one geometry is selected by a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> lying within or in the neighborhood of that geometry.
+<p>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>G</em>&nbsp;</td><td>type of geometry to check </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>type of <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to check </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>type of search radius </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>&nbsp;</td><td>geometry which might be located in the neighborhood </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>selection_point</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to select the geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>search_radius</em>&nbsp;</td><td>for points/linestrings: defines radius of "neighborhood" to find things in </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is within or close to the other geometry </dd></dl>
+
+<p>Definition at line <a class="el" href="selected_8hpp_source.html#l00262">262</a> of file <a class="el" href="selected_8hpp_source.html">selected.hpp</a>.</p>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__simplify.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__simplify.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,329 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>simplification (generalization)</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename G , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g00b5a49a676c29d790764ad67e9fdfbc">ggl::simplify</a> (const G &amp;geometry, G &amp;out, double max_distance, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g44130eb01685933927c05207a01a84f1">ggl::simplify</a> (const G &amp;geometry, G &amp;out, double max_distance)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename O , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#gfac2ab8188c31cf7fab43e423884e0ed">ggl::simplify</a> (const G &amp;geometry, O out, double max_distance, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename O &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb">ggl::simplify</a> (const G &amp;geometry, O out, double max_distance)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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>
+<li>Wikipedia: given a 'curve' composed of line segments to find a curve not too dissimilar but that has fewer points</li></ul>
+</dd></dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm</dd></dl>
+<dl class="user" compact><dt><b>Performance</b></dt><dd>Performance is measured on simplification of a collection of rings, such that 10% of the points is kept.<ul>
+<li>2776 counties of US are simplified in 0.8 seconds (2.5 seconds or 11.5 seconds in 2 other libraries)</li><li>3918 zipcode areas of the Netherlands are simplified in 0.03 seconds (0.1 seconds or 0.45 seconds in 2 other libraries)</li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Geometries</b></dt><dd><ul>
+<li>LINESTRING: <div align="center">
+<img src="simplify_linestring.png" alt="simplify_linestring.png">
+</div>
+</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 &amp;geometry, O out, double max_distance)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename O &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::simplify </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">O&nbsp;</td>
+ <td class="paramname"> <em>out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>max_distance</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em>&nbsp;</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>&nbsp;</td><td>output iterator, outputs all simplified points </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>max_distance</em>&nbsp;</td><td>distance (in units of input coordinates) of a vertex to other segments to be removed </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&lt;ggl::point_xy&lt;double&gt;</a> &gt; 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
+ &lt;&lt; <span class="stringliteral">" original line: "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(line) &lt;&lt; std::endl
+ &lt;&lt; <span class="stringliteral">"simplified line: "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(simplified) &lt;&lt; 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>
+
+</div>
+</div><p>
+<a class="anchor" name="gfac2ab8188c31cf7fab43e423884e0ed"></a><!-- doxytag: member="ggl::simplify" ref="gfac2ab8188c31cf7fab43e423884e0ed" args="(const G &amp;geometry, O out, double max_distance, S const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename O , typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::simplify </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">O&nbsp;</td>
+ <td class="paramname"> <em>out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>max_distance</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>strategy</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em>&nbsp;</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>&nbsp;</td><td>output iterator, outputs all simplified points </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>max_distance</em>&nbsp;</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>&nbsp;</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&lt;double&gt;</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&lt;P&gt;</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&lt;P, ggl::segment&lt;const P&gt;</a> &gt; DS;
+ <span class="keyword">typedef</span> std::ostream_iterator&lt;P&gt; 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&lt;L, OUT, DS&gt;</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>
+
+</div>
+</div><p>
+<a class="anchor" name="g44130eb01685933927c05207a01a84f1"></a><!-- doxytag: member="ggl::simplify" ref="g44130eb01685933927c05207a01a84f1" args="(const G &amp;geometry, G &amp;out, double max_distance)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::simplify </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>max_distance</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em>&nbsp;</td><td>input geometry, to be simplified </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>output geometry, simplified version of the input geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>max_distance</em>&nbsp;</td><td>distance (in units of input coordinates) of a vertex to other segments to be removed </td></tr>
+ </table>
+</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>
+
+</div>
+</div><p>
+<a class="anchor" name="g00b5a49a676c29d790764ad67e9fdfbc"></a><!-- doxytag: member="ggl::simplify" ref="g00b5a49a676c29d790764ad67e9fdfbc" args="(const G &amp;geometry, G &amp;out, double max_distance, S const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::simplify </td>
+ <td>(</td>
+ <td class="paramtype">const G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>max_distance</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>strategy</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em>&nbsp;</td><td>input geometry, to be simplified </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>output geometry, simplified version of the input geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>max_distance</em>&nbsp;</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>&nbsp;</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>
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__svg.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__svg.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>x Extension svg: Stream SVG (Scalable Vector Graphics)</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1svg__manipulator.html">ggl::svg_manipulator&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic geometry template manipulator class, takes corresponding output class from <a class="el" href="namespaceggl_1_1traits.html">traits</a> class. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">svg_manipulator&lt; Geometry &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd">ggl::svg</a> (Geometry const &amp;t, std::string const &amp;style, int size=-1)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main svg function to stream geometries as SVG. <br></td></tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g98ba8f58eaff68c96c23f9d9a90bc4fd"></a><!-- doxytag: member="ggl::svg" ref="g98ba8f58eaff68c96c23f9d9a90bc4fd" args="(Geometry const &amp;t, std::string const &amp;style, int size=&#45;1)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">svg_manipulator&lt;Geometry&gt; ggl::svg </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>t</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::string const &amp;&nbsp;</td>
+ <td class="paramname"> <em>style</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>size</em> = <code>-1</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Main svg function to stream geometries as SVG.
+<p>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="07__graph__route__example_8cpp-example.html#a15">07_graph_route_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="write__svg_8hpp_source.html#l00256">256</a> of file <a class="el" href="write__svg_8hpp_source.html">write_svg.hpp</a>.</p>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__traits.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__traits.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>traits: adapt geometries</h1>Traits classes are small classes or structs to adapt geometries such that they are recognized by the Generic Geometry Library.
+More...
+<p>
+<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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class which gives <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (get,set) to points. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point&lt; G, P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">ggl::traits::coordinate_system&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class defining the coordinate system of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, important for <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> selection. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1coordinate__type.html">ggl::traits::coordinate_type&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class which indicate the coordinate type (double,float,...) of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1cs__tag.html">ggl::traits::cs_tag&lt; CoordinateSystem &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class defining coordinate system <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">tag</a>, bound to coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1dimension.html">ggl::traits::dimension&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class indicating the number of dimensions of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1exterior__ring.html">ggl::traits::exterior_ring&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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_1exterior__ring.html" title="Traits class defining access to exterior_ring of a polygon.">exterior_ring</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>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1indexed__access.html">ggl::traits::indexed_access&lt; G, I, D &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class defining "get" and "set" to get and set <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> coordinate values. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1interior__rings.html">ggl::traits::interior_rings&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1interior__type.html">ggl::traits::interior_type&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1point__type.html">ggl::traits::point_type&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class indicating the type of contained points. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1radius__access.html">ggl::traits::radius_access&lt; G, T, D &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class to get/set radius of a circle/sphere/(ellipse). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1radius__type.html">ggl::traits::radius_type&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class indicating the type (double,float,...) of the radius of a circle or a sphere. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1ring__type.html">ggl::traits::ring_type&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class to indicate ring-type of a polygon's exterior ring/interior rings. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1tag.html">ggl::traits::tag&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1use__std.html">ggl::traits::use_std&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class, optional, indicating that the std-library should be used. More...<br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Traits classes are small classes or structs to adapt geometries such that they are recognized by the Generic Geometry Library. </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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__transform.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__transform.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,256 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>transformations</h1>Transforms from one geometry to another geometry, optionally using a strategy.
+More...
+<p>
+<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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">ggl::strategy::transform::copy_direct&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to copy one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another using assignment operator. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">ggl::strategy::transform::copy_per_coordinate&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do copy a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, copying per coordinate. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html">ggl::strategy::transform::degree_radian_vv&lt; P1, P2, F &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to go from <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> to <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a> and back. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html">ggl::strategy::transform::from_cartesian_3_to_spherical_2&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D cartesian (x,y,z) to 2D spherical (phi,theta). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html">ggl::strategy::transform::from_cartesian_3_to_spherical_3&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D cartesian (x,y,z) to 3D spherical (phi,theta,r). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html">ggl::strategy::transform::from_spherical_2_to_cartesian_3&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 2D spherical (phi,theta) to 3D cartesian (x,y,z). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html">ggl::strategy::transform::from_spherical_3_to_cartesian_3&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D spherical (phi,theta,r) to 3D cartesian (x,y,z). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">ggl::strategy::transform::inverse_transformer&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do an inverse ransformation in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do map from one to another Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">ggl::strategy::transform::rotate_transformer&lt; P1, P2, DegreeOrRadian &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to rotate in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">ggl::strategy::transform::scale_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to scale in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">ggl::strategy::transform::translate_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to translate in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do an affine matrix transformation in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__transform.html">ggl::strategy_transform&lt; CS_TAG1, CS_TAG2, CS1, CS2, D1, D2, P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a transformation <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&lt;typename G1 , typename G2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transform.html#g9ec9c2e79900a57ce292dc2026b7ead9">ggl::transform</a> (G1 const &amp;geometry1, G2 &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms from one geometry to another geometry using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500">ggl::transform</a> (G1 const &amp;geometry1, G2 &amp;geometry2, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms from one geometry to another geometry using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Transforms from one geometry to another geometry, optionally using a strategy.
+<p>
+The transform algorithm automatically transforms from one coordinate system to another coordinate system. If the coordinate system of both geometries are the same, the geometry is copied. All point(s of the geometry) are transformed.<p>
+There is a version without a strategy, transforming automatically, and there is a version with a strategy.<p>
+This function has a lot of appliances, for example<ul>
+<li>transform from spherical coordinates to cartesian coordinates, and back</li><li>transform from geographic coordinates to cartesian coordinates (projections) and back</li><li>transform from degree to radian, and back</li><li>transform from and to cartesian coordinates (mapping, translations, etc)</li></ul>
+<p>
+The automatic transformations look to the coordinate system family, and dimensions, of the point type and by this apply the strategy (internally bounded by traits classes).<p>
+<dl class="user" compact><dt><b>Examples:</b></dt><dd>The example below shows automatic transformations to go from one coordinate system to another one: <div class="fragment"><pre class="fragment"> <span class="keyword">typedef</span> point&lt;double, 3, cs::cartesian&gt; XYZ;
+ <span class="keyword">typedef</span> point&lt;double, 3, cs::spherical&lt;degree&gt; &gt; SPH;
+ XYZ p;
+
+ SPH sph1, sph2;
+ <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>(sph1, 12.5, 41.90, 1.0);
+ <span class="comment">// Go from spherical to Cartesian-3D:</span>
+ <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(sph1, p);
+ <span class="comment">// Go back from Cartesian 3D to spherical:</span>
+ <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(p, sph2);
+
+ std::cout &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>(p) &lt;&lt; <span class="stringliteral">" &lt;-&gt; "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>(sph2) &lt;&lt; std::endl;
+</pre></div></dd></dl>
+The next example takes another approach and transforms from Cartesian to Cartesian: <div class="fragment"><pre class="fragment"> <span class="keyword">typedef</span> point_xy&lt;double&gt; XY;
+ <span class="keyword">typedef</span> point_xy&lt;int&gt; PIXEL;
+ XY xy(50, 50);
+ strategy::transform::map_transformer&lt;XY, PIXEL, false&gt; map(0, 0, 100, 100, 1024, 768);
+ PIXEL pix;
+ <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(xy, pix, map);
+ std::cout &lt;&lt; pix.x() &lt;&lt; <span class="stringliteral">","</span> &lt;&lt; pix.y() &lt;&lt; std::endl;
+</pre></div><p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Not every possibility is yet worked out, e.g. polar coordinate system is ignored until now <p>
+This "transform" is broader then geodetic datum transformations, those are currently not worked out </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ge33cee2442ebab063f9c987121cd3500"></a><!-- doxytag: member="ggl::transform" ref="ge33cee2442ebab063f9c987121cd3500" args="(G1 const &amp;geometry1, G2 &amp;geometry2, S const &amp;strategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G1 , typename G2 , typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::transform </td>
+ <td>(</td>
+ <td class="paramtype">G1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">G2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>strategy</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Transforms from one geometry to another geometry using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</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>G1</em>&nbsp;</td><td>first geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>G2</em>&nbsp;</td><td>second geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>S</em>&nbsp;</td><td><a class="el" href="namespaceggl_1_1strategy.html">strategy</a> </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>geometry1</em>&nbsp;</td><td>first geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry2</em>&nbsp;</td><td>second geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em>&nbsp;</td><td>the <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to be used for transformation </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="06__transformation__example_8cpp-example.html#a2">06_transformation_example.cpp</a>, and <a class="el" href="07__graph__route__example_8cpp-example.html#a14">07_graph_route_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="algorithms_2transform_8hpp_source.html#l00258">258</a> of file <a class="el" href="algorithms_2transform_8hpp_source.html">transform.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g9ec9c2e79900a57ce292dc2026b7ead9"></a><!-- doxytag: member="ggl::transform" ref="g9ec9c2e79900a57ce292dc2026b7ead9" args="(G1 const &amp;geometry1, G2 &amp;geometry2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G1 , typename G2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::transform </td>
+ <td>(</td>
+ <td class="paramtype">G1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">G2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Transforms from one geometry to another geometry using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</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>G1</em>&nbsp;</td><td>first geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>G2</em>&nbsp;</td><td>second 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>geometry1</em>&nbsp;</td><td>first geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry2</em>&nbsp;</td><td>second geometry </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the transformation could be done </dd></dl>
+
+<p>Definition at line <a class="el" href="algorithms_2transform_8hpp_source.html#l00281">281</a> of file <a class="el" href="algorithms_2transform_8hpp_source.html">transform.hpp</a>.</p>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__utility.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__utility.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,193 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>utility: utilities</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1as__range__type.html">ggl::as_range_type&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function utility returning either type itself, or outer ring. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__coordinate__type.html">ggl::select_coordinate_type&lt; T1, T2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Utility selecting the most precise coordinate type of two geometries. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise&lt; T1, T2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class to select, of two types, the most accurate type for calculations. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Range , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Range const &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b">ggl::as_range</a> (Geometry const &amp;input)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , int D&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#ga43456dff55af2757deaf0168f02b899">ggl::assert_dimension</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assert_dimension, enables compile-time checking if coordinate dimensions are as expected <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g6af1781e9ae86e95302a6e9997549e95">ggl::assert_dimension_equal</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assert_dimension_equal, enables compile-time checking if coordinate dimensions of two geometries are equal <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , int D&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#gc994425c217f28b39694f41e6d1f5386">ggl::assert_dimension_less_equal</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assert_dimension, enables compile-time checking if coordinate dimensions are as expected <br></td></tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ga43456dff55af2757deaf0168f02b899"></a><!-- doxytag: member="ggl::assert_dimension" ref="ga43456dff55af2757deaf0168f02b899" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , int D&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assert_dimension </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+assert_dimension, enables compile-time checking if coordinate dimensions are as expected
+<p>
+
+<p>Definition at line <a class="el" href="coordinate__dimension_8hpp_source.html#l00072">72</a> of file <a class="el" href="coordinate__dimension_8hpp_source.html">coordinate_dimension.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gc994425c217f28b39694f41e6d1f5386"></a><!-- doxytag: member="ggl::assert_dimension_less_equal" ref="gc994425c217f28b39694f41e6d1f5386" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , int D&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assert_dimension_less_equal </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+assert_dimension, enables compile-time checking if coordinate dimensions are as expected
+<p>
+
+<p>Definition at line <a class="el" href="coordinate__dimension_8hpp_source.html#l00088">88</a> of file <a class="el" href="coordinate__dimension_8hpp_source.html">coordinate_dimension.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g6af1781e9ae86e95302a6e9997549e95"></a><!-- doxytag: member="ggl::assert_dimension_equal" ref="g6af1781e9ae86e95302a6e9997549e95" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G1 , typename G2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assert_dimension_equal </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+assert_dimension_equal, enables compile-time checking if coordinate dimensions of two geometries are equal
+<p>
+
+<p>Definition at line <a class="el" href="coordinate__dimension_8hpp_source.html#l00104">104</a> of file <a class="el" href="coordinate__dimension_8hpp_source.html">coordinate_dimension.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g1868bde329b825c540572ac0a73e4f2b"></a><!-- doxytag: member="ggl::as_range" ref="g1868bde329b825c540572ac0a73e4f2b" args="(Geometry const &amp;input)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Range , typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Range const&amp; ggl::as_range </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>input</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/haversine_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/haversine_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</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 &nbsp;</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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/haversine_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/haversine_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,302 @@
+<!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">
+&nbsp;&nbsp;
+</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/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 &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="radian__access_8hpp.html">ggl/core/radian_access.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="get__cs__as__radian_8hpp.html">ggl/util/get_cs_as_radian.hpp</a>&gt;</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> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2 = P1&gt;
+<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>00051 <span class="comment">//typedef spherical_distance return_type;</span>
+<a name="l00052"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">00052</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="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#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&amp; p1, <span class="keyword">const</span> P2&amp; 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&lt;0&gt;(p1), get_as_radian&lt;1&gt;(p1),
+<a name="l00061"></a>00061 get_as_radian&lt;0&gt;(p2), get_as_radian&lt;1&gt;(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&lt;P1&gt;::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&lt;P2&gt;::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(<span class="keyword">const</span> T1&amp; lon1, <span class="keyword">const</span> T1&amp; lat1, <span class="keyword">const</span> T2&amp; lon2, <span class="keyword">const</span> T2&amp; 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="l00086"></a>00086 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> S&gt;
+<a name="l00087"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">00087</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html" title="Strategy functor for distance point to segment calculation.">ll_point_segment</a>
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <span class="keyword">public</span> :
+<a name="l00090"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">00090</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">return_type</a>;
+<a name="l00091"></a>00091
+<a name="l00092"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#bd6a906cc460c9073ed833922392407c">00092</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#bd6a906cc460c9073ed833922392407c">ll_point_segment</a>(<span class="keywordtype">double</span> r = 1.0) : m_radius(r)
+<a name="l00093"></a>00093 {}
+<a name="l00094"></a>00094
+<a name="l00095"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#ded28ff8067850eab6befbf3cec37098">00095</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">return_type</a> <a class="code" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#ded28ff8067850eab6befbf3cec37098">operator()</a>(P <span class="keyword">const</span>&amp; p, S <span class="keyword">const</span>&amp; s)<span class="keyword"> const</span>
+<a name="l00096"></a>00096 <span class="keyword"> </span>{
+<a name="l00097"></a>00097 <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">PR</a> pr, ps1, ps2;
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="comment">// Select transformation strategy and transform to radians (if necessary)</span>
+<a name="l00100"></a>00100 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__transform.html" title="Traits class binding a transformation strategy to a coordinate system.">strategy_transform</a>&lt;
+<a name="l00101"></a>00101 <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&lt;P&gt;::type</a>,
+<a name="l00102"></a>00102 <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&lt;PR&gt;::type</a>,
+<a name="l00103"></a>00103 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system&lt;P&gt;::type</a>,
+<a name="l00104"></a>00104 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system&lt;PR&gt;::type</a>,
+<a name="l00105"></a>00105 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;P&gt;::value</a>,
+<a name="l00106"></a>00106 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;PR&gt;::value</a>,
+<a name="l00107"></a>00107 P, <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">PR</a>&gt;::type transform_strategy;
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="comment">// TODO</span>
+<a name="l00111"></a>00111 <span class="comment">// ASSUMPTION: segment</span>
+<a name="l00112"></a>00112 <span class="comment">// SOLVE THIS USING OTHER FUNCTIONS using get&lt;,&gt;</span>
+<a name="l00113"></a>00113 transform_strategy(p, pr);
+<a name="l00114"></a>00114 transform_strategy(s.first, ps1);
+<a name="l00115"></a>00115 transform_strategy(s.second, ps2);
+<a name="l00116"></a>00116 <span class="keywordflow">return</span> calc(pr, ps1, ps2);
+<a name="l00117"></a>00117 }
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keyword">private</span> :
+<a name="l00120"></a>00120 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>
+<a name="l00121"></a>00121 &lt;
+<a name="l00122"></a>00122 <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&lt;P&gt;::type</a>,
+<a name="l00123"></a>00123 <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&lt;P&gt;::type::value</a>,
+<a name="l00124"></a>00124 <span class="keyword">typename</span> ggl::detail::get_cs_as_radian
+<a name="l00125"></a>00125 &lt;
+<a name="l00126"></a>00126 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system&lt;P&gt;::type</a>
+<a name="l00127"></a>00127 &gt;::type
+<a name="l00128"></a>00128 &gt; PR;
+<a name="l00129"></a>00129 <span class="keywordtype">double</span> m_radius;
+<a name="l00130"></a>00130
+<a name="l00132"></a>00132 <span class="keyword">inline</span> <span class="keywordtype">double</span> course(PR <span class="keyword">const</span>&amp; p1, PR <span class="keyword">const</span>&amp; p2)<span class="keyword"> const</span>
+<a name="l00133"></a>00133 <span class="keyword"> </span>{
+<a name="l00134"></a>00134 <span class="comment">/***</span>
+<a name="l00135"></a>00135 <span class="comment"> Course between points</span>
+<a name="l00136"></a>00136 <span class="comment"></span>
+<a name="l00137"></a>00137 <span class="comment"> We obtain the initial course, tc1, (at point 1) from point 1 to point 2 by the following. The formula fails if the initial point is a pole. We can special case this with:</span>
+<a name="l00138"></a>00138 <span class="comment"></span>
+<a name="l00139"></a>00139 <span class="comment"> IF (cos(lat1) &lt; EPS) // EPS a small number ~ machine precision</span>
+<a name="l00140"></a>00140 <span class="comment"> IF (lat1 &gt; 0): tc1= pi // starting from N pole</span>
+<a name="l00141"></a>00141 <span class="comment"> ELSE: tc1= 2*pi // starting from S pole</span>
+<a name="l00142"></a>00142 <span class="comment"> ENDIF</span>
+<a name="l00143"></a>00143 <span class="comment"> ENDIF</span>
+<a name="l00144"></a>00144 <span class="comment"></span>
+<a name="l00145"></a>00145 <span class="comment"> For starting points other than the poles:</span>
+<a name="l00146"></a>00146 <span class="comment"> IF sin(lon2-lon1)&lt;0: tc1=acos((sin(lat2)-sin(lat1)*cos(d))/(sin(d)*cos(lat1)))</span>
+<a name="l00147"></a>00147 <span class="comment"> ELSE: tc1=2*pi-acos((sin(lat2)-sin(lat1)*cos(d))/(sin(d)*cos(lat1)))</span>
+<a name="l00148"></a>00148 <span class="comment"> ENDIF</span>
+<a name="l00149"></a>00149 <span class="comment"></span>
+<a name="l00150"></a>00150 <span class="comment"> An alternative formula, not requiring the pre-computation of d, the distance between the points, is:</span>
+<a name="l00151"></a>00151 <span class="comment"> tc1=mod(atan2(sin(lon1-lon2)*cos(lat2),</span>
+<a name="l00152"></a>00152 <span class="comment"> cos(lat1)*sin(lat2)-sin(lat1)*cos(lat2)*cos(lon1-lon2))</span>
+<a name="l00153"></a>00153 <span class="comment"> , 2*pi)</span>
+<a name="l00154"></a>00154 <span class="comment"> ***/</span>
+<a name="l00155"></a>00155 <span class="keywordtype">double</span> dlon = get&lt;0&gt;(p2) - get&lt;0&gt;(p1);
+<a name="l00156"></a>00156 <span class="keywordtype">double</span> cos_p2lat = cos(get&lt;1&gt;(p2));
+<a name="l00157"></a>00157 <span class="keywordflow">return</span> atan2(sin(dlon) * cos_p2lat,
+<a name="l00158"></a>00158 cos(get&lt;1&gt;(p1)) * sin(get&lt;1&gt;(p2))
+<a name="l00159"></a>00159 - sin(get&lt;1&gt;(p1)) * cos_p2lat * cos(dlon));
+<a name="l00160"></a>00160 }
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">return_type</a> calc(PR <span class="keyword">const</span>&amp; p, PR <span class="keyword">const</span>&amp; sp1, PR <span class="keyword">const</span>&amp; sp2)<span class="keyword"> const</span>
+<a name="l00163"></a>00163 <span class="keyword"> </span>{
+<a name="l00164"></a>00164 <span class="comment">/***</span>
+<a name="l00165"></a>00165 <span class="comment"> Cross track error:</span>
+<a name="l00166"></a>00166 <span class="comment"> Suppose you are proceeding on a great circle route from A to B (course =crs_AB) and end up at D, perhaps off course.</span>
+<a name="l00167"></a>00167 <span class="comment"> (We presume that A is ot a pole!) You can calculate the course from A to D (crs_AD) and the distance from A to D (dist_AD)</span>
+<a name="l00168"></a>00168 <span class="comment"> using the formulae above. In shifteds of these the cross track error, XTD, (distance off course) is given by</span>
+<a name="l00169"></a>00169 <span class="comment"></span>
+<a name="l00170"></a>00170 <span class="comment"> XTD =asin(sin(dist_AD)*sin(crs_AD-crs_AB))</span>
+<a name="l00171"></a>00171 <span class="comment"></span>
+<a name="l00172"></a>00172 <span class="comment"> (positive XTD means right of course, negative means left)</span>
+<a name="l00173"></a>00173 <span class="comment"> (If the point A is the N. or S. Pole replace crs_AD-crs_AB with</span>
+<a name="l00174"></a>00174 <span class="comment"> lon_D-lon_B or lon_B-lon_D, respectively.)</span>
+<a name="l00175"></a>00175 <span class="comment"> ***/</span>
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 <span class="comment">// Calculate distances, in radians, on the unit sphere</span>
+<a name="l00178"></a>00178 <span class="comment">// It seems not useful to let this strategy be templatized, it should be in radians and on the unit sphere</span>
+<a name="l00179"></a>00179 <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html" title="Distance calculation for spherical coordinates on a perfect sphere using haversine...">strategy::distance::haversine&lt;PR, PR&gt;</a> strategy(1.0);
+<a name="l00180"></a>00180 <span class="keywordtype">double</span> d1 = strategy(sp1, p);
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 <span class="comment">// Actually, calculation of d2 not necessary if we know that the projected point is on the great circle...</span>
+<a name="l00183"></a>00183 <span class="keywordtype">double</span> d2 = strategy(sp2, p);
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="comment">// Source: http://williams.best.vwh.net/avform.htm>
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 <span class="keywordtype">double</span> crs_AD = course(sp1, p);
+<a name="l00188"></a>00188 <span class="keywordtype">double</span> crs_AB = course(sp1, sp2);
+<a name="l00189"></a>00189 <span class="keywordtype">double</span> XTD = fabs(asin(sin(d1) * sin(crs_AD - crs_AB)));
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="comment">// Return shortest distance, either to projected point on segment sp1-sp2, or to sp1, or to sp2</span>
+<a name="l00192"></a>00192 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">return_type</a>(m_radius * (std::min)((std::min)(d1, d2), XTD));
+<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
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200 } <span class="comment">// namespace distance</span>
+<a name="l00201"></a>00201
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203
+<a name="l00204"></a>00204
+<a name="l00205"></a>00205 } <span class="comment">// namespace strategy</span>
+<a name="l00206"></a>00206
+<a name="l00207"></a>00207
+<a name="l00208"></a>00208 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00209"></a>00209 <span class="preprocessor"></span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00210"></a>00210 <span class="keyword">struct </span>strategy_distance&lt;spherical_tag, spherical_tag, P1, P2&gt;
+<a name="l00211"></a>00211 {
+<a name="l00212"></a>00212 <span class="keyword">typedef</span> strategy::distance::haversine&lt;P1, P2&gt; <a class="code" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">type</a>;
+<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> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment&gt;
+<a name="l00217"></a>00217 <span class="keyword">struct </span>strategy_distance_segment&lt;spherical_tag, spherical_tag, Point, Segment&gt;
+<a name="l00218"></a>00218 {
+<a name="l00219"></a>00219 <span class="keyword">typedef</span> strategy::distance::ll_point_segment&lt;Point, Segment&gt; <a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">type</a>;
+<a name="l00220"></a>00220 };
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222
+<a name="l00223"></a>00223 <span class="comment">// Use this point-segment for geographic as well. TODO: change this, extension!</span>
+<a name="l00224"></a>00224 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment&gt;
+<a name="l00225"></a>00225 <span class="keyword">struct </span>strategy_distance_segment&lt;geographic_tag, geographic_tag, Point, Segment&gt;
+<a name="l00226"></a>00226 {
+<a name="l00227"></a>00227 <span class="keyword">typedef</span> strategy::distance::ll_point_segment&lt;Point, Segment&gt; <a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">type</a>;
+<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 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00234"></a>00234 <span class="keyword">struct </span>strategy_tag&lt;strategy::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::haversine&lt;P1, P2&gt; &gt;
+<a name="l00235"></a>00235 {
+<a name="l00236"></a>00236 <span class="keyword">typedef</span> strategy_tag_distance_point_point <a class="code" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">type</a>;
+<a name="l00237"></a>00237 };
+<a name="l00238"></a>00238
+<a name="l00239"></a>00239 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment&gt;
+<a name="l00240"></a>00240 <span class="keyword">struct </span>strategy_tag&lt;strategy::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::ll_point_segment&lt;Point, Segment&gt; &gt;
+<a name="l00241"></a>00241 {
+<a name="l00242"></a>00242 <span class="keyword">typedef</span> strategy_tag_distance_point_segment <a class="code" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">type</a>;
+<a name="l00243"></a>00243 };
+<a name="l00244"></a>00244
+<a name="l00245"></a>00245
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247 <span class="preprocessor">#endif</span>
+<a name="l00248"></a>00248 <span class="preprocessor"></span>
+<a name="l00249"></a>00249
+<a name="l00250"></a>00250
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252
+<a name="l00253"></a>00253
+<a name="l00254"></a>00254 } <span class="comment">// namespace ggl</span>
+<a name="l00255"></a>00255
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257 <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&nbsp;
Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/hierarchy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/hierarchy.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,265 @@
+<!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">
+&nbsp;&nbsp;
+</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="current">Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
+<li><a class="el" href="classcore__dispatch_1_1dimension.html">dimension</a>
+<ul>
+<li><a class="el" href="structggl_1_1dimension.html">ggl::dimension&lt; P &gt;</a>
+<ul>
+<li><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">ggl::traits::dimension&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+</ul>
+</ul>
+<li><a class="el" href="structggl_1_1area__result.html">ggl::area_result&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1as__range__type.html">ggl::as_range_type&lt; Geometry &gt;</a>
+<li><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a>
+<li><a class="el" href="structggl_1_1box__tag.html">ggl::box_tag</a>
+<li><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</a>
+<li><a class="el" href="structggl_1_1cartesian__tag.html">ggl::cartesian_tag</a>
+<li><a class="el" href="structggl_1_1circular__iterator.html">ggl::circular_iterator&lt; Iterator &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box&lt; B &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox&lt; B &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring&lt; L &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ggl::concept::ConstNsphere&lt; S &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint&lt; X &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon&lt; P &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing&lt; R &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment&lt; S &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring&lt; L &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_nsphere.html">ggl::concept::Nsphere&lt; S &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_point.html">ggl::concept::Point&lt; X &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon&lt; P &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring&lt; R &gt;</a>
+<li><a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment&lt; S &gt;</a>
+<li><a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1coordinate__type.html">ggl::coordinate_type&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1cs_1_1cartesian.html">ggl::cs::cartesian</a>
+<li><a class="el" href="structggl_1_1cs_1_1geographic.html">ggl::cs::geographic&lt; DegreeOrRadian &gt;</a>
+<li><a class="el" href="structggl_1_1cs_1_1polar.html">ggl::cs::polar&lt; DegreeOrRadian &gt;</a>
+<li><a class="el" href="structggl_1_1cs_1_1spherical.html">ggl::cs::spherical&lt; DegreeOrRadian &gt;</a>
+<li><a class="el" href="structggl_1_1cs__tag.html">ggl::cs_tag&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a>
+<ul>
+<li><a class="el" href="structggl_1_1de9im__segment.html">ggl::de9im_segment</a>
+</ul>
+<li><a class="el" href="classggl_1_1degree.html">ggl::degree</a>
+<li><a class="el" href="structggl_1_1dimension.html">ggl::dimension&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; G1, G2 &gt;</a>
+<li><a class="el" href="classggl_1_1dsv__manipulator.html">ggl::dsv_manipulator&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1ever__circling__iterator.html">ggl::ever_circling_iterator&lt; Iterator &gt;</a>
+<li><a class="el" href="structggl_1_1exception.html">ggl::exception</a>
+<ul>
+<li><a class="el" href="classggl_1_1centroid__exception.html">ggl::centroid_exception</a>
+</ul>
+<li><a class="el" href="structggl_1_1geographic__tag.html">ggl::geographic_tag</a>
+<li><a class="el" href="structggl_1_1geometry__collection__tag.html">ggl::geometry_collection_tag</a>
+<li><a class="el" href="structggl_1_1geometry__id.html">ggl::geometry_id&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1geometry__not__recognized__tag.html">ggl::geometry_not_recognized_tag</a>
+<li><a class="el" href="structggl_1_1interior__type.html">ggl::interior_type&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1is__linear.html">ggl::is_linear&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1is__multi.html">ggl::is_multi&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1is__radian.html">ggl::is_radian&lt; CoordinateSystem &gt;</a>
+<li><a class="el" href="structggl_1_1less.html">ggl::less&lt; P &gt;</a>
+<li><a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring&lt; P, V, A &gt;</a>
+<li><a class="el" href="classggl_1_1linestring.html">ggl::linestring&lt; P, V, A &gt;</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&lt; L, V, A &gt;</a>
+<li><a class="el" href="structggl_1_1multi__linestring__tag.html">ggl::multi_linestring_tag</a>
+<li><a class="el" href="structggl_1_1multi__point.html">ggl::multi_point&lt; P, V, A &gt;</a>
+<li><a class="el" href="structggl_1_1multi__point__tag.html">ggl::multi_point_tag</a>
+<li><a class="el" href="structggl_1_1multi__polygon.html">ggl::multi_polygon&lt; P, V, A &gt;</a>
+<li><a class="el" href="structggl_1_1multi__polygon__tag.html">ggl::multi_polygon_tag</a>
+<li><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere&lt; P, T &gt;</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&lt; T, D, C &gt;</a>
+<li><a class="el" href="structggl_1_1point__const__iterator.html">ggl::point_const_iterator&lt; Geometry &gt;</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&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a>
+<li><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>
+<li><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>
+<li><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>
+<li><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>
+<li><a class="el" href="classggl_1_1polygon.html">ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</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&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1replace__point__type.html">ggl::replace_point_type&lt; Geometry, NewPointType &gt;</a>
+<li><a class="el" href="structggl_1_1reverse__dispatch.html">ggl::reverse_dispatch&lt; Geometry1, Geometry2 &gt;</a>
+<li><a class="el" href="structggl_1_1ring__tag.html">ggl::ring_tag</a>
+<li><a class="el" href="structggl_1_1ring__type.html">ggl::ring_type&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a>
+<li><a class="el" href="structggl_1_1sections.html">ggl::sections&lt; Box, DimensionCount &gt;</a>
+<li><a class="el" href="structggl_1_1segment.html">ggl::segment&lt; P &gt;</a>
+<li><a class="el" href="structggl_1_1segment__identifier.html">ggl::segment_identifier</a>
+<li><a class="el" href="structggl_1_1segment__intersection__points.html">ggl::segment_intersection_points&lt; P &gt;</a>
+<li><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a>
+<li><a class="el" href="structggl_1_1segment__tag.html">ggl::segment_tag</a>
+<li><a class="el" href="structggl_1_1select__coordinate__type.html">ggl::select_coordinate_type&lt; T1, T2 &gt;</a>
+<li><a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise&lt; T1, T2 &gt;</a>
+<li><a class="el" href="structggl_1_1spherical__tag.html">ggl::spherical_tag</a>
+<li><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer&lt; CentroidPointType, SegmentPointType, CalculationType &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995&lt; PC, PS &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">ggl::strategy::compare::euclidian&lt; P, D &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham&lt; P &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras&lt; P1, P2, CalculationType &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;::state</a>
+<li><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>
+<li><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">ggl::strategy::envelope::shift::shifted&lt; D &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html">ggl::strategy::envelope::shift::shifted&lt; degree &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">ggl::strategy::envelope::shift::shifted&lt; radian &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">ggl::strategy::intersection::liang_barsky&lt; B, P &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1not__implemented.html">ggl::strategy::not_implemented</a>
+<li><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side&lt; P, PS &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">ggl::strategy::transform::copy_direct&lt; P &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">ggl::strategy::transform::copy_per_coordinate&lt; P1, P2 &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html">ggl::strategy::transform::degree_radian_vv&lt; P1, P2, F &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html">ggl::strategy::transform::degree_radian_vv_3&lt; P1, P2, F &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html">ggl::strategy::transform::from_cartesian_3_to_spherical_2&lt; P1, P2 &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html">ggl::strategy::transform::from_cartesian_3_to_spherical_3&lt; P1, P2 &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html">ggl::strategy::transform::from_spherical_2_to_cartesian_3&lt; P1, P2 &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html">ggl::strategy::transform::from_spherical_3_to_cartesian_3&lt; P1, P2 &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">ggl::strategy::transform::rotate_transformer&lt; P1, P2, DegreeOrRadian &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">ggl::strategy::transform::scale_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">ggl::strategy::transform::translate_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a>
+<ul>
+<li><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">ggl::strategy::transform::scale_transformer&lt; P1, P2, 2, 2 &gt;</a>
+<li><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">ggl::strategy::transform::translate_transformer&lt; P1, P2, 2, 2 &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;</a>
+</ul>
+<li><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a>
+<ul>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::scale_transformer&lt; P1, P2, 3, 3 &gt;</a>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::translate_transformer&lt; P1, P2, 3, 3 &gt;</a>
+</ul>
+<li><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; P, PS &gt;</a>
+<li><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding&lt; P, PS &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__area.html">ggl::strategy_area&lt; T, P &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__centroid.html">ggl::strategy_centroid&lt; T, P, PS &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__compare.html">ggl::strategy_compare&lt; T, P, D &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__convex__hull.html">ggl::strategy_convex_hull&lt; T, P &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__distance.html">ggl::strategy_distance&lt; T1, T2, P1, P2 &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__distance__segment.html">ggl::strategy_distance_segment&lt; CsTag1, CsTag2, Point, Segment &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__envelope.html">ggl::strategy_envelope&lt; TP, TB, P, B &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__parse.html">ggl::strategy_parse&lt; T, CS &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__side.html">ggl::strategy_side&lt; T, P, PS &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__tag.html">ggl::strategy_tag&lt; T &gt;</a>
+<li><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">ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;</a>
+<li><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">ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__tag__distance__point__point.html">ggl::strategy_tag_distance_point_point</a>
+<li><a class="el" href="structggl_1_1strategy__tag__distance__point__segment.html">ggl::strategy_tag_distance_point_segment</a>
+<li><a class="el" href="structggl_1_1strategy__tag__unknown.html">ggl::strategy_tag_unknown</a>
+<li><a class="el" href="structggl_1_1strategy__transform.html">ggl::strategy_transform&lt; CS_TAG1, CS_TAG2, CS1, CS2, D1, D2, P1, P2 &gt;</a>
+<li><a class="el" href="structggl_1_1strategy__within.html">ggl::strategy_within&lt; TP, TS, P, PS &gt;</a>
+<li><a class="el" href="classggl_1_1svg__manipulator.html">ggl::svg_manipulator&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1tag.html">ggl::tag&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1topological__dimension.html">ggl::topological_dimension&lt; Geometry &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point&lt; G, P &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">ggl::traits::coordinate_system&lt; P &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">ggl::traits::coordinate_system&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1coordinate__type.html">ggl::traits::coordinate_type&lt; P &gt;</a>
+<li><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">ggl::traits::coordinate_type&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1cs__tag.html">ggl::traits::cs_tag&lt; CoordinateSystem &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1dimension.html">ggl::traits::dimension&lt; P &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1exterior__ring.html">ggl::traits::exterior_ring&lt; P &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1indexed__access.html">ggl::traits::indexed_access&lt; G, I, D &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1interior__rings.html">ggl::traits::interior_rings&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1interior__type.html">ggl::traits::interior_type&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1point__type.html">ggl::traits::point_type&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1radius__access.html">ggl::traits::radius_access&lt; G, T, D &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1radius__type.html">ggl::traits::radius_type&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1ring__type.html">ggl::traits::ring_type&lt; G &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1tag.html">ggl::traits::tag&lt; Geometry &gt;</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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+<li><a class="el" href="structggl_1_1traits_1_1use__std.html">ggl::traits::use_std&lt; G &gt;</a>
+<li><a class="el" href="classggl_1_1point.html">ggl::point&lt; T, 2, C &gt;</a>
+<ul>
+<li><a class="el" href="classggl_1_1point__xy.html">ggl::point_xy&lt; T, C &gt;</a>
+</ul>
+<li><a class="el" href="class_point_list.html">PointList</a>
+<li><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a>
+<ul>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</a>
+</ul>
+<li><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, dimension&lt; P1 &gt;::type::value, dimension&lt; P2 &gt;::type::value &gt;</a>
+<ul>
+<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">ggl::strategy::transform::inverse_transformer&lt; P1, P2 &gt;</a>
+</ul>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/images/draft.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/images/ggl-logo-big.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/images/proposed_boost.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/index.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/index.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Generic Geometry Library</h1>
+<p>
+<h2><a class="anchor" name="header">
+Generic Geometry Library</a></h2>
+<em>Copyright © 1995-2009 <b>Barend Gehrels</b>, Geodan, Amsterdam, the Netherlands.<br>
+ Copyright © 2008-2009 <b>Bruno Lalande</b>, Paris, France.<br>
+ Copyright © 2009 <b>Mateusz Loskot</b>, Cadcorp, London, UK.<br>
+ Distributed under the Boost Software License, Version 1.0.<br>
+ (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) </em><h2><a class="anchor" name="intro">
+Introduction</a></h2>
+The Generic Geometry Library, GGL (currently in "Formal Review Request") defines concepts for geometries and implements some algorithms on such geometries.<p>
+GGL contains a dimension-agnostic, coordinate-system-agnostic and scalable kernel, based on concepts, meta-functions and tag- dispatching. On top of that kernel, algorithms are built: area, length, perimeter, centroid, convex hull, intersection (clipping), within (point in polygon), distance, envelope (bounding box), simplify, transform, convert, and more. The library is also designed to support high precision arithmetic numbers, such as GMP.<p>
+GGL contains instantiable geometry classes, but library users can also use their own. Using registration macros or traits classes their geometries can be adapted to fulfil the GGL-concepts.<p>
+The GGL might be used in all domains where geometry plays a role: mapping and GIS, gaming, computer graphics and widgets, robotics, astronomy... The core is designed to be as generic as possible and support those domains. However, for now the development has been mostly GIS-oriented.<p>
+GGL supports the extension model, the same way as GIL also applies it. An extension is (mostly) something more specific to domains like mentioned above.<p>
+The library follows existing conventions:<ul>
+<li>conventions from boost</li><li>conventions from the std library</li><li>conventions and names from one of the OGC standards on Geometry</li></ul>
+<p>
+This Generic Geometry Library (<a class="el" href="namespaceggl.html">ggl</a>) is now being proposed to the Boost Library Collection<p>
+The library can be downloaded from the Boost Sandbox, go to the <a class="el" href="download.html">Download page</a> for more information.<h2><a class="anchor" name="quickstart">
+Quick start</a></h2>
+It is not possible to show the whole library at a glance. A few very small examples are shown below.<p>
+It should be possible to use a very small part of the library, for example only the distance between two points.<p>
+ <div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> a[2] = {1,1};
+ <span class="keywordtype">int</span> b[2] = {2,3};
+ <span class="keywordtype">double</span> d = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(a, b);
+ std::cout &lt;&lt; <span class="stringliteral">"Distance a-b is:"</span> &lt;&lt; d &lt;&lt; std::endl;
+</pre></div><p>
+Other often used algorithms are point-in-polygon: <div class="fragment"><pre class="fragment"> <a class="code" href="namespaceggl.html#c40046fcbfc818fa12cc1e73e26e260b">ring_2d</a> poly;
+ <span class="keywordtype">double</span> points[][2] = {{2.0, 1.3}, {4.1, 3.0}, {5.3, 2.6}, {2.9, 0.7}, {2.0, 1.3}};
+ <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(poly, points);
+ boost::tuple&lt;double, double&gt; p = boost::make_tuple(3.7, 2.0);
+ std::cout &lt;&lt; <span class="stringliteral">"Point p is in polygon? "</span> &lt;&lt; (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>(p, poly) ? <span class="stringliteral">"YES"</span> : <span class="stringliteral">"NO"</span>) &lt;&lt; std::endl;
+</pre></div><p>
+or area: <div class="fragment"><pre class="fragment"> std::cout &lt;&lt; <span class="stringliteral">"Area: "</span> &lt;&lt; <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>(poly) &lt;&lt; std::endl;
+</pre></div><p>
+It is possible, by the nature of a template library, to mix the point types declared above: <div class="fragment"><pre class="fragment"> <span class="keywordtype">double</span> d2 = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(a, p);
+ std::cout &lt;&lt; <span class="stringliteral">"Distance a-p is:"</span> &lt;&lt; d2 &lt;&lt; std::endl;
+</pre></div><p>
+The pieces above generate this output: <div align="center">
+<img src="output_main.png" alt="output_main.png">
+</div>
+<p>
+It is also possible to use non-Cartesian points. For example: points on a sphere. When then an algorithm such as distance is used the library "inspects" that it is handling spherical points and calculates the distance over the sphere, instead of applying the Pythagorean theorem.<p>
+Finally an example from a totally different domain: developing window-based applications, for example using QtWidgets. We check if two rectangles overlap and if so, move the second one to another place: <div class="fragment"><pre class="fragment"> QRect r1(100, 200, 15, 15);
+ QRect r2(110, 210, 20, 20);
+ <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c" title="Determines overlap between two geometries.">overlaps</a>(r1, r2))
+ {
+ <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>(r2, 200, 300, 220, 320);
+ }
+</pre></div><p>
+Many more examples are on the page <b>Examples</b> </div>
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,100 @@
+<!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">
+&nbsp;&nbsp;
+</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/interior_rings.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1interior__type.html">ggl::interior_type&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining container type of inner rings of (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> geometriy. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1interior__rings.html">ggl::traits::interior_rings&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1interior__type.html">ggl::traits::interior_type&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const interior_type&lt; P &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ga81ef3b07a844489714e682f12e43746">ggl::interior_rings</a> (const P &amp;polygon)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the interior rings of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (const version). <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">interior_type&lt; P &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758">ggl::interior_rings</a> (P &amp;polygon)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the interior rings of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (non const version). <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g0b185daa84fef7c96923751e087fbb21">ggl::num_interior_rings</a> (const P &amp;polygon)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the number of interior rings of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,178 @@
+<!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">
+&nbsp;&nbsp;
+</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/interior_rings.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_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="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
+<a name="l00020"></a>00020 {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>traits
+<a name="l00023"></a>00023 {
+<a name="l00024"></a>00024
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00036"></a><a class="code" href="structggl_1_1traits_1_1interior__type.html">00036</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1interior__type.html" title="Traits class indicating interior container type of a polygon.">interior_type</a> { };
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038
+<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00051"></a><a class="code" href="structggl_1_1traits_1_1interior__rings.html">00051</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1interior__rings.html" title="Traits class defining access to interior_rings of a polygon.">interior_rings</a>
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 };
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 } <span class="comment">// namespace traits</span>
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> G&gt; <span class="keyword">struct </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</a> {};
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00067"></a>00067 <span class="keyword">struct </span>interior_type&lt;polygon_tag, P&gt;
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <span class="keyword">typedef</span> <span class="keyword">typename</span> traits::interior_type&lt;P&gt;::type type;
+<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="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> G&gt;
+<a name="l00075"></a>00075 <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> {};
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00079"></a>00079 <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>&lt;polygon_tag, P&gt;
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> interior_type&lt;polygon_tag, P&gt;::type&amp; <span class="keyword">get</span>(P&amp; polygon)
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::interior_rings&lt;P&gt;::get</a>(polygon);
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keyword">typename</span> interior_type&lt;polygon_tag, P&gt;::type&amp; <span class="keyword">get</span>(<span class="keyword">const</span> P&amp; polygon)
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::interior_rings&lt;P&gt;::get</a>(polygon);
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090 };
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00095"></a>00095 <span class="preprocessor">#endif</span>
+<a name="l00096"></a>00096 <span class="preprocessor"></span>
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099
+<a name="l00106"></a>00106 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00107"></a><a class="code" href="structggl_1_1interior__type.html">00107</a> <span class="keyword">struct </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</a>
+<a name="l00108"></a>00108 {
+<a name="l00109"></a><a class="code" href="structggl_1_1interior__type.html#304a4e5fbdbc3a5504b7c0561d32e646">00109</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type <a class="code" href="structggl_1_1interior__type.html#304a4e5fbdbc3a5504b7c0561d32e646">ncg</a>;
+<a name="l00110"></a>00110 <span class="keyword">typedef</span> <span class="keyword">typename</span> core_dispatch::interior_type&lt;
+<a name="l00111"></a><a class="code" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">00111</a> <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, <a class="code" href="structggl_1_1interior__type.html#304a4e5fbdbc3a5504b7c0561d32e646">ncg</a>&gt;<a class="code" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">::type</a> <a class="code" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">type</a>;
+<a name="l00112"></a>00112 };
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115
+<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00125"></a><a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758">00125</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type&lt;P&gt;::type</a>&amp; <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(P&amp; <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>)
+<a name="l00126"></a>00126 {
+<a name="l00127"></a>00127 <span class="keywordflow">return</span> core_dispatch::interior_rings&lt;typename tag&lt;P&gt;::type, P&gt;<a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(polygon);
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130
+<a name="l00139"></a>00139 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00140"></a><a class="code" href="group__access.html#ga81ef3b07a844489714e682f12e43746">00140</a> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type&lt;P&gt;::type</a>&amp; <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(<span class="keyword">const</span> P&amp; <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>)
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 <span class="keywordflow">return</span> core_dispatch::interior_rings&lt;typename tag&lt;P&gt;::type, P&gt;<a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(polygon);
+<a name="l00143"></a>00143 }
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146
+<a name="l00156"></a>00156 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00157"></a><a class="code" href="group__access.html#g0b185daa84fef7c96923751e087fbb21">00157</a> <span class="keyword">inline</span> <span class="keywordtype">size_t</span> <a class="code" href="group__access.html#g0b185daa84fef7c96923751e087fbb21" title="Function to get the number of interior rings of a polygon.">num_interior_rings</a>(<span class="keyword">const</span> P&amp; <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="l00158"></a>00158 {
+<a name="l00159"></a>00159 <span class="keywordflow">return</span> boost::size(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00160"></a>00160 }
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 }
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 <span class="preprocessor">#endif // GGL_CORE_INTERIOR_RINGS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/intermediate.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 &nbsp;</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&lt;typename G , typename Iterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3">ggl::intermediate</a> (const G &amp;geometry, bool start_and_end, Iterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate intermediate of a geometry. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,179 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/intermediate.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_ALGORITHMS_INTERMEDIATE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_INTERMEDIATE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;iterator&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00030"></a>00030 <span class="keyword">namespace </span>ggl
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a> {
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Src, <span class="keyword">typename</span> Dst, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00037"></a>00037 <span class="keyword">struct </span>calculate_coordinate
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Src <span class="keyword">const</span>&amp; p1, Src <span class="keyword">const</span>&amp; p2, Dst&amp; p)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 ggl::set&lt;Dimension&gt;(p,
+<a name="l00042"></a>00042 (ggl::get&lt;Dimension&gt;(p1) + ggl::get&lt;Dimension&gt;(p2)) / 2.0);
+<a name="l00043"></a>00043 calculate_coordinate&lt;Src, Dst, Dimension + 1, DimensionCount&gt;::apply(p1, p2, p);
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Src, <span class="keyword">typename</span> Dst, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00048"></a>00048 <span class="keyword">struct </span>calculate_coordinate&lt;Src, Dst, DimensionCount, DimensionCount&gt;
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Src <span class="keyword">const</span>&amp;, Src <span class="keyword">const</span>&amp;, Dst&amp;)
+<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>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> Iterator&gt;
+<a name="l00056"></a>00056 <span class="keyword">struct </span>range_intermediate
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(R <span class="keyword">const</span>&amp; range, <span class="keywordtype">bool</span> start_and_end, Iterator out)
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;R&gt;::type point_type;
+<a name="l00061"></a>00061 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;R&gt;::type iterator_type;
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 iterator_type it = boost::begin(range);
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keywordflow">if</span> (start_and_end)
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 (*out++) = *it;
+<a name="l00068"></a>00068 }
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 iterator_type prev = it++;
+<a name="l00071"></a>00071 <span class="keywordflow">for</span> (; it != boost::end(range); prev = it++)
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 point_type p;
+<a name="l00074"></a>00074 calculate_coordinate
+<a name="l00075"></a>00075 &lt;
+<a name="l00076"></a>00076 point_type,
+<a name="l00077"></a>00077 point_type,
+<a name="l00078"></a>00078 0,
+<a name="l00079"></a>00079 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;point_type&gt;::type::value</a>
+<a name="l00080"></a>00080 &gt;::apply(*prev, *it, p);
+<a name="l00081"></a>00081 *(out++) = p;
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="keywordflow">if</span> (start_and_end)
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 (*out++) = *prev;
+<a name="l00087"></a>00087 }
+<a name="l00088"></a>00088 }
+<a name="l00089"></a>00089 };
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 }} <span class="comment">// namespace detail::intermediate</span>
+<a name="l00092"></a>00092 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00093"></a>00093 <span class="preprocessor"></span>
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00096"></a>00096 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00097"></a>00097 {
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> Iterator&gt;
+<a name="l00100"></a>00100 <span class="keyword">struct </span><a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a> {};
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> Iterator&gt;
+<a name="l00103"></a>00103 <span class="keyword">struct </span><a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a>&lt;ring_tag, G, Iterator&gt;
+<a name="l00104"></a>00104 : detail::<a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a>::range_intermediate&lt;G, Iterator&gt; {};
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> Iterator&gt;
+<a name="l00107"></a>00107 <span class="keyword">struct </span><a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a>&lt;linestring_tag, G, Iterator&gt;
+<a name="l00108"></a>00108 : detail::<a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a>::range_intermediate&lt;G, Iterator&gt; {};
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 } <span class="comment">// namespace dispatch</span>
+<a name="l00111"></a>00111 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00112"></a>00112 <span class="preprocessor"></span>
+<a name="l00113"></a>00113
+<a name="l00118"></a>00118 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> Iterator&gt;
+<a name="l00119"></a><a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3">00119</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a>(<span class="keyword">const</span> G&amp; geometry, <span class="keywordtype">bool</span> start_and_end, Iterator out)
+<a name="l00120"></a>00120 {
+<a name="l00121"></a>00121 dispatch::intermediate&lt;typename tag&lt;G&gt;::type, G, Iterator&gt;::apply(geometry, start_and_end, out);
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 } <span class="comment">// namespace ggl</span>
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="preprocessor">#endif // GGL_ALGORITHMS_INTERMEDIATE_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__linestring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__linestring_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/intersection_linestring.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">ggl::strategy::intersection::liang_barsky&lt; B, P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Strategy: line clipping algorithm after Liang Barsky. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1intersection.html">ggl::strategy::intersection</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__linestring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__linestring_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,278 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/intersection_linestring.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_ALGORITHMS_INTERSECTION_LINESTRING_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_INTERSECTION_LINESTRING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="append_8hpp.html">ggl/algorithms/append.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="clear_8hpp.html">ggl/algorithms/clear.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a><a class="code" href="namespaceggl_1_1strategy_1_1intersection.html">00024</a> <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
+<a name="l00025"></a>00025
+<a name="l00038"></a>00038 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> P&gt;
+<a name="l00039"></a><a class="code" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">00039</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html" title="Strategy: line clipping algorithm after Liang Barsky.">liang_barsky</a>
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keyword">private</span>:
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">ggl::segment&lt;P&gt;</a> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment_type</a>;
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keyword">inline</span> <span class="keywordtype">bool</span> check_edge(<span class="keywordtype">double</span> <span class="keyword">const</span>&amp; p, <span class="keywordtype">double</span> <span class="keyword">const</span>&amp; q, <span class="keywordtype">double</span>&amp; t1, <span class="keywordtype">double</span>&amp; t2)<span class="keyword"> const</span>
+<a name="l00045"></a>00045 <span class="keyword"> </span>{
+<a name="l00046"></a>00046 <span class="keywordtype">bool</span> visible = <span class="keyword">true</span>;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keywordflow">if</span>(p &lt; 0)
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="comment">// TODO: Move r definition one scope level up to reuse --mloskot</span>
+<a name="l00051"></a>00051 <span class="keywordtype">double</span> <span class="keyword">const</span> r = q / p;
+<a name="l00052"></a>00052 <span class="keywordflow">if</span> (r &gt; t2)
+<a name="l00053"></a>00053 visible = <span class="keyword">false</span>;
+<a name="l00054"></a>00054 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (r &gt; t1)
+<a name="l00055"></a>00055 t1 = r;
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(p &gt; 0)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keywordtype">double</span> <span class="keyword">const</span> r = q / p;
+<a name="l00060"></a>00060 <span class="keywordflow">if</span> (r &lt; t1)
+<a name="l00061"></a>00061 visible = <span class="keyword">false</span>;
+<a name="l00062"></a>00062 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (r &lt; t2)
+<a name="l00063"></a>00063 t2 = r;
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065 <span class="keywordflow">else</span>
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keywordflow">if</span> (q &lt; 0)
+<a name="l00068"></a>00068 visible = <span class="keyword">false</span>;
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keywordflow">return</span> visible;
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="keyword">public</span>:
+<a name="l00075"></a>00075
+<a name="l00076"></a><a class="code" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#1a0456b13305792c70cd53b8571db1ef">00076</a> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#1a0456b13305792c70cd53b8571db1ef">clip_segment</a>(B <span class="keyword">const</span>&amp; b, <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment_type</a>&amp; s, <span class="keywordtype">bool</span>&amp; sp1_clipped, <span class="keywordtype">bool</span>&amp; sp2_clipped)<span class="keyword"> const</span>
+<a name="l00077"></a>00077 <span class="keyword"> </span>{
+<a name="l00078"></a>00078 <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&lt;B, P&gt;::type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="keywordtype">double</span> t1 = 0;
+<a name="l00081"></a>00081 <span class="keywordtype">double</span> t2 = 1;
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 coordinate_type <span class="keyword">const</span> dx = get&lt;1, 0&gt;(s) - get&lt;0, 0&gt;(s);
+<a name="l00084"></a>00084 coordinate_type <span class="keyword">const</span> dy = get&lt;1, 1&gt;(s) - get&lt;0, 1&gt;(s);
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 coordinate_type <span class="keyword">const</span> p1 = -dx;
+<a name="l00087"></a>00087 coordinate_type <span class="keyword">const</span> p2 = dx;
+<a name="l00088"></a>00088 coordinate_type <span class="keyword">const</span> p3 = -dy;
+<a name="l00089"></a>00089 coordinate_type <span class="keyword">const</span> p4 = dy;
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 coordinate_type <span class="keyword">const</span> q1 = get&lt;0, 0&gt;(s) - get&lt;min_corner, 0&gt;(b);
+<a name="l00092"></a>00092 coordinate_type <span class="keyword">const</span> q2 = get&lt;max_corner, 0&gt;(b) - get&lt;0, 0&gt;(s);
+<a name="l00093"></a>00093 coordinate_type <span class="keyword">const</span> q3 = get&lt;0, 1&gt;(s) - get&lt;min_corner, 1&gt;(b);
+<a name="l00094"></a>00094 coordinate_type <span class="keyword">const</span> q4 = get&lt;max_corner, 1&gt;(b) - get&lt;0, 1&gt;(s);
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="keywordflow">if</span> (check_edge(p1, q1, t1, t2) <span class="comment">// left</span>
+<a name="l00097"></a>00097 &amp;&amp; check_edge(p2, q2, t1, t2) <span class="comment">// right</span>
+<a name="l00098"></a>00098 &amp;&amp; check_edge(p3, q3, t1, t2) <span class="comment">// bottom</span>
+<a name="l00099"></a>00099 &amp;&amp; check_edge(p4, q4, t1, t2)) <span class="comment">// top</span>
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 sp1_clipped = t1 &gt; 0;
+<a name="l00102"></a>00102 sp2_clipped = t2 &lt; 1;
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="comment">// TODO: maybe round coordinates in case of integer? define some round_traits&lt;&gt; or so?</span>
+<a name="l00105"></a>00105 <span class="comment">// Take boost-round of Fernando</span>
+<a name="l00106"></a>00106 <span class="keywordflow">if</span> (sp2_clipped)
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 set&lt;1, 0&gt;(s, get&lt;0, 0&gt;(s) + t2 * dx);
+<a name="l00109"></a>00109 set&lt;1, 1&gt;(s, get&lt;0, 1&gt;(s) + t2 * dy);
+<a name="l00110"></a>00110 }
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="keywordflow">if</span>(sp1_clipped)
+<a name="l00113"></a>00113 {
+<a name="l00114"></a>00114 set&lt;0, 0&gt;(s, get&lt;0, 0&gt;(s) + t1 * dx);
+<a name="l00115"></a>00115 set&lt;0, 1&gt;(s, get&lt;0, 1&gt;(s) + t1 * dy);
+<a name="l00116"></a>00116 }
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00119"></a>00119 }
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> L, <span class="keyword">typename</span> OutputIterator&gt;
+<a name="l00125"></a><a class="code" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#8e27188bc1054b3017c059cce6b3c330">00125</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#8e27188bc1054b3017c059cce6b3c330">add</a>(L&amp; line_out, OutputIterator out)<span class="keyword"> const</span>
+<a name="l00126"></a>00126 <span class="keyword"> </span>{
+<a name="l00127"></a>00127 <span class="keywordflow">if</span> (!boost::empty(line_out))
+<a name="l00128"></a>00128 {
+<a name="l00129"></a>00129 *out = line_out;
+<a name="l00130"></a>00130 ++out;
+<a name="l00131"></a>00131 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(line_out);
+<a name="l00132"></a>00132 }
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134 };
+<a name="l00135"></a>00135 }} <span class="comment">// namespace strategy::intersection</span>
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00139"></a>00139 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
+<a name="l00140"></a>00140
+<a name="l00152"></a>00152 <span class="keyword">template</span>
+<a name="l00153"></a>00153 &lt;
+<a name="l00154"></a>00154 <span class="keyword">typename</span> OutputLinestring,
+<a name="l00155"></a>00155 <span class="keyword">typename</span> OutputIterator,
+<a name="l00156"></a>00156 <span class="keyword">typename</span> Linestring,
+<a name="l00157"></a>00157 <span class="keyword">typename</span> Box,
+<a name="l00158"></a>00158 <span class="keyword">typename</span> Strategy
+<a name="l00159"></a>00159 &gt;
+<a name="l00160"></a>00160 OutputIterator clip_linestring_with_box(Box <span class="keyword">const</span>&amp; b, Linestring <span class="keyword">const</span>&amp; linestring,
+<a name="l00161"></a>00161 OutputIterator out, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00162"></a>00162 {
+<a name="l00163"></a>00163 <span class="keywordflow">if</span> (boost::begin(linestring) == boost::end(linestring))
+<a name="l00164"></a>00164 {
+<a name="l00165"></a>00165 <span class="keywordflow">return</span> out;
+<a name="l00166"></a>00166 }
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;OutputLinestring&gt;::type point_type;
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170 OutputLinestring line_out;
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Linestring&gt;::type iterator_type;
+<a name="l00173"></a>00173 iterator_type vertex = boost::begin(linestring);
+<a name="l00174"></a>00174 <span class="keywordflow">for</span>(iterator_type previous = vertex++;
+<a name="l00175"></a>00175 vertex != boost::end(linestring);
+<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="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>
+<a name="l00184"></a>00184 <span class="comment">// 2. Segment is completely visible. Add (p1)-p2 to line</span>
+<a name="l00185"></a>00185 <span class="comment">// 3. Point 1 is invisible (clipped), point 2 is visible. Start new line from p1-p2...</span>
+<a name="l00186"></a>00186 <span class="comment">// 4. Point 1 is visible, point 2 is invisible (clipped). End the line with ...p2</span>
+<a name="l00187"></a>00187 <span class="comment">// 5. Point 1 and point 2 are both invisible (clipped). Start/finish an independant line p1-p2</span>
+<a name="l00188"></a>00188 <span class="comment">//</span>
+<a name="l00189"></a>00189 <span class="comment">// This results in:</span>
+<a name="l00190"></a>00190 <span class="comment">// a. if p1 is clipped, start new line</span>
+<a name="l00191"></a>00191 <span class="comment">// b. if segment is partly or completely visible, add the segment</span>
+<a name="l00192"></a>00192 <span class="comment">// c. if p2 is clipped, end the line</span>
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194 <span class="keywordtype">bool</span> c1 = <span class="keyword">false</span>;
+<a name="l00195"></a>00195 <span class="keywordtype">bool</span> c2 = <span class="keyword">false</span>;
+<a name="l00196"></a>00196 segment&lt;point_type&gt; s(p1, p2);
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198 <span class="keywordflow">if</span> (!strategy.clip_segment(b, s, c1, c2))
+<a name="l00199"></a>00199 {
+<a name="l00200"></a>00200 strategy.add(line_out, out);
+<a name="l00201"></a>00201 }
+<a name="l00202"></a>00202 <span class="keywordflow">else</span>
+<a name="l00203"></a>00203 {
+<a name="l00204"></a>00204 <span class="comment">// a. If necessary, finish the line and add a start a new one</span>
+<a name="l00205"></a>00205 <span class="keywordflow">if</span> (c1)
+<a name="l00206"></a>00206 {
+<a name="l00207"></a>00207 strategy.add(line_out, out);
+<a name="l00208"></a>00208 }
+<a name="l00209"></a>00209
+<a name="l00210"></a>00210 <span class="comment">// b. Add p1 only if it is the first point, then add p2</span>
+<a name="l00211"></a>00211 <span class="keywordflow">if</span> (boost::empty(line_out))
+<a name="l00212"></a>00212 {
+<a name="l00213"></a>00213 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(line_out, p1);
+<a name="l00214"></a>00214 }
+<a name="l00215"></a>00215 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(line_out, p2);
+<a name="l00216"></a>00216
+<a name="l00217"></a>00217 <span class="comment">// c. If c2 is clipped, finish the line</span>
+<a name="l00218"></a>00218 <span class="keywordflow">if</span> (c2)
+<a name="l00219"></a>00219 {
+<a name="l00220"></a>00220 strategy.add(line_out, out);
+<a name="l00221"></a>00221 }
+<a name="l00222"></a>00222 }
+<a name="l00223"></a>00223
+<a name="l00224"></a>00224 }
+<a name="l00225"></a>00225
+<a name="l00226"></a>00226 <span class="comment">// Add last part</span>
+<a name="l00227"></a>00227 strategy.add(line_out, out);
+<a name="l00228"></a>00228 <span class="keywordflow">return</span> out;
+<a name="l00229"></a>00229 }
+<a name="l00230"></a>00230
+<a name="l00231"></a>00231 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00232"></a>00232 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00233"></a>00233 <span class="preprocessor"></span>
+<a name="l00234"></a>00234 } <span class="comment">// namespace ggl</span>
+<a name="l00235"></a>00235
+<a name="l00236"></a>00236 <span class="preprocessor">#endif // GGL_ALGORITHMS_INTERSECTION_LINESTRING_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/intersection_point.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 &nbsp;</td><td class="memItemRight" valign="bottom"><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">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">ggl::traits::coordinate_system&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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">ggl::traits::coordinate_type&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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">ggl::traits::dimension&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,320 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/intersection_point.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_ALGORITHMS_INTERSECTION_POINT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_INTERSECTION_POINT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="segment__identifier_8hpp.html">ggl/algorithms/overlay/segment_identifier.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>ggl
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt;
+<a name="l00032"></a>00032 <span class="keyword">struct </span>intersection_info
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> P point_type;
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> distance_result&lt;P, P&gt;::type distance_type;
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">inline</span> intersection_info()
+<a name="l00038"></a>00038 : travels_to_vertex_index(-1)
+<a name="l00039"></a>00039 , travels_to_ip_index(-1)
+<a name="l00040"></a>00040 , next_ip_index(-1)
+<a name="l00041"></a>00041 , <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(ggl::<a class="code" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331" title="Object generator to create instance which can be compared.">make_distance_result</a>&lt;distance_type&gt;(0))
+<a name="l00042"></a>00042 , direction(0)
+<a name="l00043"></a>00043 , how(<span class="stringliteral">'?'</span>)
+<a name="l00044"></a>00044 , arrival(0)
+<a name="l00045"></a>00045 , opposite(false)
+<a name="l00046"></a>00046 , visit_code(0)
+<a name="l00047"></a>00047 , flagged(false)
+<a name="l00048"></a>00048 {}
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="comment">// Point to which the segment from IP is directing (TO-point)</span>
+<a name="l00051"></a>00051 <span class="comment">// If they intersect on their "arrival" points, it is the FROM-point.</span>
+<a name="l00052"></a>00052 P other_point;
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="comment">// Identifier of this segment (source,segment,ring,multi)</span>
+<a name="l00055"></a>00055 segment_identifier seg_id;
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="comment">// Identify the segment where it was intersected with to form this IP</span>
+<a name="l00058"></a>00058 segment_identifier other_id;
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="comment">// vertex to which is free travel after this IP,</span>
+<a name="l00062"></a>00062 <span class="comment">// so from "segment_index+1" to "travels_to_vertex_index", without IP-s,</span>
+<a name="l00063"></a>00063 <span class="comment">// can be -1</span>
+<a name="l00064"></a>00064 <span class="keywordtype">int</span> travels_to_vertex_index;
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="comment">// same but now IP index, so "next IP index" but not on THIS segment</span>
+<a name="l00067"></a>00067 <span class="keywordtype">int</span> travels_to_ip_index;
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="comment">// index of next IP on this segment, -1 if there is no one</span>
+<a name="l00070"></a>00070 <span class="keywordtype">int</span> next_ip_index;
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 distance_type <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>; <span class="comment">// distance-measurement from segment.first to IP</span>
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="comment">// 1: left, -1: right, 0: collinear</span>
+<a name="l00075"></a>00075 <span class="keywordtype">int</span> direction;
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="comment">// Information about how intersection is done</span>
+<a name="l00078"></a>00078 <span class="keywordtype">char</span> how;
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="comment">// 1: arrived at IP, -1: departs from IP, 0: crosses IP</span>
+<a name="l00081"></a>00081 <span class="keywordtype">int</span> arrival;
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keywordtype">bool</span> opposite;
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keywordtype">int</span> visit_code;
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="keywordtype">bool</span> flagged; <span class="comment">// flagged for deletion</span>
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00090"></a>00090 <span class="preprocessor"></span> <span class="keyword">static</span> <span class="keyword">inline</span> std::string dir(<span class="keywordtype">int</span> d)
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <span class="keywordflow">return</span> d == 0 ? <span class="stringliteral">"-"</span> : (d == 1 ? <span class="stringliteral">"L"</span> : d == -1 ? <span class="stringliteral">"R"</span> : <span class="stringliteral">"#"</span>);
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094 <span class="keyword">static</span> <span class="keyword">inline</span> std::string how_str(<span class="keywordtype">int</span> h)
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 <span class="keywordflow">return</span> h == 0 ? <span class="stringliteral">"-"</span> : (h == 1 ? <span class="stringliteral">"A"</span> : <span class="stringliteral">"D"</span>);
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="keyword">friend</span> std::ostream&amp; operator&lt;&lt;(std::ostream &amp;os, intersection_info&lt;P&gt; <span class="keyword">const</span>&amp; info)
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 os &lt;&lt; <span class="stringliteral">"\t"</span>
+<a name="l00102"></a>00102 &lt;&lt; <span class="stringliteral">" src "</span> &lt;&lt; info.seg_id.source_index
+<a name="l00103"></a>00103 &lt;&lt; <span class="stringliteral">" seg "</span> &lt;&lt; info.seg_id.segment_index
+<a name="l00104"></a>00104 &lt;&lt; <span class="stringliteral">" (// "</span> &lt;&lt; info.other_id.source_index
+<a name="l00105"></a>00105 &lt;&lt; <span class="stringliteral">"."</span> &lt;&lt; info.other_id.segment_index &lt;&lt; <span class="stringliteral">")"</span>
+<a name="l00106"></a>00106 &lt;&lt; <span class="stringliteral">" how "</span> &lt;&lt; info.how
+<a name="l00107"></a>00107 &lt;&lt; <span class="stringliteral">"["</span> &lt;&lt; how_str(info.arrival)
+<a name="l00108"></a>00108 &lt;&lt; <span class="stringliteral">" "</span> &lt;&lt; dir(info.direction)
+<a name="l00109"></a>00109 &lt;&lt; (info.opposite ? <span class="stringliteral">" o"</span> : <span class="stringliteral">""</span>)
+<a name="l00110"></a>00110 &lt;&lt; <span class="stringliteral">"]"</span>
+<a name="l00111"></a>00111 &lt;&lt; <span class="stringliteral">" nxt seg "</span> &lt;&lt; info.travels_to_vertex_index
+<a name="l00112"></a>00112 &lt;&lt; <span class="stringliteral">" , ip "</span> &lt;&lt; info.travels_to_ip_index
+<a name="l00113"></a>00113 &lt;&lt; <span class="stringliteral">" , or "</span> &lt;&lt; info.next_ip_index
+<a name="l00114"></a>00114 &lt;&lt; <span class="stringliteral">" dst "</span> &lt;&lt; std::setprecision(12) &lt;&lt; double(info.distance);
+<a name="l00115"></a>00115 <span class="keywordflow">if</span> (info.visit_code != 0)
+<a name="l00116"></a>00116 {
+<a name="l00117"></a>00117 os &lt;&lt; <span class="stringliteral">" VIS: "</span> &lt;&lt; int(info.visit_code);
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119 <span class="keywordflow">return</span> os;
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121 <span class="preprocessor">#endif</span>
+<a name="l00122"></a>00122 <span class="preprocessor"></span>};
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt;
+<a name="l00126"></a>00126 <span class="keyword">struct </span>intersection_point
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 <span class="keyword">public</span> :
+<a name="l00129"></a>00129 <span class="keyword">inline</span> intersection_point()
+<a name="l00130"></a>00130 : visit_code(0) <span class="comment">// VISIT_NONE</span>
+<a name="l00131"></a>00131 , trivial(true)
+<a name="l00132"></a>00132 , shared(false)
+<a name="l00133"></a>00133 , flagged(false)
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00139"></a>00139 <span class="preprocessor"></span> <span class="keyword">friend</span> std::ostream&amp; operator&lt;&lt;(std::ostream &amp;os, intersection_point&lt;P&gt; <span class="keyword">const</span>&amp; p)
+<a name="l00140"></a>00140 {
+<a name="l00141"></a>00141 os &lt;&lt; <span class="stringliteral">"IP ("</span> &lt;&lt; ggl::get&lt;0&gt;(p.point) &lt;&lt; <span class="stringliteral">","</span> &lt;&lt; ggl::get&lt;1&gt;(p.point) &lt;&lt; <span class="stringliteral">")"</span>
+<a name="l00142"></a>00142 &lt;&lt; <span class="stringliteral">" visited: "</span> &lt;&lt; int(p.visit_code)
+<a name="l00143"></a>00143 &lt;&lt; (p.shared ? <span class="stringliteral">" SHARED"</span> : <span class="stringliteral">""</span>)
+<a name="l00144"></a>00144 &lt;&lt; (p.flagged ? <span class="stringliteral">" FLAGGED"</span> : <span class="stringliteral">""</span>)
+<a name="l00145"></a>00145 &lt;&lt; std::endl;
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; p.info.size(); i++)
+<a name="l00148"></a>00148 {
+<a name="l00149"></a>00149 os &lt;&lt; p.info[i] &lt;&lt; std::endl;
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151 <span class="keywordflow">return</span> os;
+<a name="l00152"></a>00152 }
+<a name="l00153"></a>00153 <span class="preprocessor">#endif</span>
+<a name="l00154"></a>00154 <span class="preprocessor"></span> <span class="keyword">typedef</span> intersection_info&lt;P&gt; traversal_type;
+<a name="l00155"></a>00155 <span class="keyword">typedef</span> std::vector&lt;traversal_type&gt; traversal_vector;
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 P point;
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 <span class="keywordtype">int</span> visit_code;
+<a name="l00160"></a>00160 <span class="keywordtype">bool</span> trivial; <span class="comment">// FALSE if there is an collinearity, touch or so.</span>
+<a name="l00161"></a>00161 <span class="keywordtype">bool</span> shared; <span class="comment">// shared with more IP's</span>
+<a name="l00162"></a>00162 <span class="keywordtype">bool</span> flagged; <span class="comment">// flagged for deletion afterwards</span>
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 <span class="comment">// info about the two intersecting segments</span>
+<a name="l00165"></a>00165 <span class="comment">// usually two, but often more if IP's are merged</span>
+<a name="l00166"></a>00166 traversal_vector info;
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="keyword">inline</span> <span class="keywordtype">void</span> clone_except_info(intersection_point&amp; other)<span class="keyword"> const</span>
+<a name="l00169"></a>00169 <span class="keyword"> </span>{
+<a name="l00170"></a>00170 other.point = point;
+<a name="l00171"></a>00171 other.visit_code = visit_code;
+<a name="l00172"></a>00172 other.trivial = trivial;
+<a name="l00173"></a>00173 other.shared = shared;
+<a name="l00174"></a>00174 other.flagged = flagged;
+<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="l00180"></a>00180
+<a name="l00181"></a>00181 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00182"></a>00182 <span class="preprocessor">#endif //DOXYGEN_NO_DETAIL</span>
+<a name="l00183"></a>00183 <span class="preprocessor"></span>
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="comment">// Register the intersection point as being a point fulfilling the ggl Point Concept</span>
+<a name="l00186"></a>00186 <span class="keyword">namespace </span>traits
+<a name="l00187"></a>00187 {
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00190"></a><a class="code" href="structggl_1_1traits_1_1coordinate__type_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">00190</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1coordinate__type.html" title="Traits class which indicate the coordinate type (double,float,...) of a point.">coordinate_type</a>&lt;ggl::detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_point&lt;P&gt; &gt;
+<a name="l00191"></a>00191 {
+<a name="l00192"></a><a class="code" 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">00192</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...">ggl::coordinate_type&lt;P&gt;::type</a> type;
+<a name="l00193"></a>00193 };
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00196"></a><a class="code" href="structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">00196</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1coordinate__system.html" title="Traits class defining the coordinate system of a point, important for strategy selection...">coordinate_system</a>&lt;ggl::detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_point&lt;P&gt; &gt;
+<a name="l00197"></a>00197 {
+<a name="l00198"></a><a class="code" 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">00198</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">ggl::coordinate_system&lt;P&gt;::type</a> type;
+<a name="l00199"></a>00199 };
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00202"></a><a class="code" href="structggl_1_1traits_1_1dimension_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">00202</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1dimension.html" title="Traits class indicating the number of dimensions of a point.">dimension</a>&lt;ggl::detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_point&lt;P&gt; &gt;
+<a name="l00203"></a>00203 : ggl::<a class="code" href="structggl_1_1traits_1_1dimension.html" title="Traits class indicating the number of dimensions of a point.">dimension</a>&lt;P&gt;
+<a name="l00204"></a>00204 {};
+<a name="l00205"></a>00205
+<a name="l00206"></a>00206 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00207"></a><a class="code" href="structggl_1_1traits_1_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">00207</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">tag</a>&lt;ggl::detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_point&lt;P&gt; &gt;
+<a name="l00208"></a>00208 {
+<a name="l00209"></a><a class="code" href="structggl_1_1traits_1_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html#02acc738dfcd073102d0c33b600556f9">00209</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1point__tag.html" title="OGC Point identifying tag.">point_tag</a> <a class="code" href="structggl_1_1point__tag.html" title="OGC Point identifying tag.">type</a>;
+<a name="l00210"></a>00210 };
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00213"></a><a class="code" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">00213</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a>&lt;ggl::detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_point&lt;P&gt; &gt;
+<a name="l00214"></a>00214 {
+<a name="l00215"></a>00215 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> Index&gt;
+<a name="l00216"></a><a class="code" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html#a25393c19c53fae14f51f6be484113b9">00216</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1traits_1_1coordinate__type.html" title="Traits class which indicate the coordinate type (double,float,...) of a point.">coordinate_type&lt;P&gt;::type</a> <span class="keyword">get</span>(
+<a name="l00217"></a>00217 ggl::detail::intersection::intersection_point&lt;P&gt; <span class="keyword">const</span>&amp; p)
+<a name="l00218"></a>00218 {
+<a name="l00219"></a>00219 <span class="keywordflow">return</span> ggl::get&lt;Index&gt;(p.point);
+<a name="l00220"></a>00220 }
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> Index&gt;
+<a name="l00223"></a><a class="code" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html#bce25b446714591183532373ceeaf1f7">00223</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(ggl::detail::intersection::intersection_point&lt;P&gt;&amp; p,
+<a name="l00224"></a>00224 <span class="keyword">typename</span> <a class="code" href="structggl_1_1traits_1_1coordinate__type.html" title="Traits class which indicate the coordinate type (double,float,...) of a point.">coordinate_type&lt;P&gt;::type</a> <span class="keyword">const</span>&amp; value)
+<a name="l00225"></a>00225 {
+<a name="l00226"></a>00226 ggl::set&lt;Index&gt;(p.point, value);
+<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 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00234"></a>00234 <span class="preprocessor"></span>
+<a name="l00235"></a>00235 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt;
+<a name="l00236"></a>00236 <span class="keyword">inline</span> <span class="keywordtype">void</span> report_ip(V <span class="keyword">const</span>&amp; intersection_points)
+<a name="l00237"></a>00237 {
+<a name="l00238"></a>00238 <span class="keyword">typedef</span> <span class="keyword">typename</span> V::const_iterator iterator_type;
+<a name="l00239"></a>00239
+<a name="l00240"></a>00240 <span class="keywordflow">for</span> (iterator_type it = intersection_points.begin();
+<a name="l00241"></a>00241 it != intersection_points.end();
+<a name="l00242"></a>00242 ++it)
+<a name="l00243"></a>00243 {
+<a name="l00244"></a>00244 <span class="keywordflow">if</span> (! it-&gt;flagged)
+<a name="l00245"></a>00245 {
+<a name="l00246"></a>00246 std::cout &lt;&lt; *it;
+<a name="l00247"></a>00247 }
+<a name="l00248"></a>00248 }
+<a name="l00249"></a>00249 }
+<a name="l00250"></a>00250 <span class="preprocessor">#endif // GGL_DEBUG_INTERSECTION</span>
+<a name="l00251"></a>00251 <span class="preprocessor"></span>
+<a name="l00252"></a>00252
+<a name="l00253"></a>00253 } <span class="comment">// namespace ggl</span>
+<a name="l00254"></a>00254
+<a name="l00255"></a>00255 <span class="preprocessor">#endif // GGL_ALGORITHMS_INTERSECTION_POINT_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__points_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,82 @@
+<!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">
+&nbsp;&nbsp;
+</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/policies/relate/intersection_points.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1policies.html">ggl::policies</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__points_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__points_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,208 @@
+<!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">
+&nbsp;&nbsp;
+</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/policies/relate/intersection_points.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_GEOMETRY_POLICIES_RELATE_INTERSECTION_POINTS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRY_POLICIES_RELATE_INTERSECTION_POINTS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl
+<a name="l00019"></a>00019 {
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>policies { <span class="keyword">namespace </span>relate {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S1, <span class="keyword">typename</span> S2, <span class="keyword">typename</span> ReturnType&gt;
+<a name="l00025"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">00025</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">segments_intersection_points</a>
+<a name="l00026"></a>00026 {
+<a name="l00027"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">00027</a> <span class="keyword">typedef</span> ReturnType <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>;
+<a name="l00028"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#dd6bd0155c8cf7da5fddbe2833920135">00028</a> <span class="keyword">typedef</span> S1 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#dd6bd0155c8cf7da5fddbe2833920135">segment_type1</a>;
+<a name="l00029"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#5765d55937d6cb6edc3a1cfe053f6f96">00029</a> <span class="keyword">typedef</span> S2 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#5765d55937d6cb6edc3a1cfe053f6f96">segment_type2</a>;
+<a name="l00030"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#bcb088829827c05640c84ca1c324361a">00030</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type&lt;S1, S2&gt;::type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
+<a name="l00031"></a>00031
+<a name="l00032"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#a31565e67fe3205615e88aef3015e550">00032</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#a31565e67fe3205615e88aef3015e550">rays_intersect</a>(<span class="keywordtype">bool</span> on_segment,
+<a name="l00033"></a>00033 <span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> rb,
+<a name="l00034"></a>00034 <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>&amp; dx1, <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>&amp; dy1,
+<a name="l00035"></a>00035 <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>&amp; dx2, <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>&amp; dy2,
+<a name="l00036"></a>00036 <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>&amp; wx, <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>&amp; wy,
+<a name="l00037"></a>00037 S1 <span class="keyword">const</span>&amp; s1, S2 <span class="keyword">const</span>&amp; s2)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 boost::ignore_unused_variable_warning(rb);
+<a name="l00040"></a>00040 boost::ignore_unused_variable_warning(dx2);
+<a name="l00041"></a>00041 boost::ignore_unused_variable_warning(dy2);
+<a name="l00042"></a>00042 boost::ignore_unused_variable_warning(wx);
+<a name="l00043"></a>00043 boost::ignore_unused_variable_warning(wy);
+<a name="l00044"></a>00044 boost::ignore_unused_variable_warning(s2);
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> result;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keywordflow">if</span> (on_segment)
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 result.count = 1;
+<a name="l00051"></a>00051 set&lt;0&gt;(result.intersections[0],
+<a name="l00052"></a>00052 boost::numeric_cast&lt;<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>&gt;(get&lt;0, 0&gt;(s1) + ra * dx1));
+<a name="l00053"></a>00053 set&lt;1&gt;(result.intersections[0],
+<a name="l00054"></a>00054 boost::numeric_cast&lt;<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>&gt;(get&lt;0, 1&gt;(s1) + ra * dy1));
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056 <span class="keywordflow">return</span> result;
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058
+<a name="l00059"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac5d192f53e833ee39c48dc8954199d9">00059</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac5d192f53e833ee39c48dc8954199d9">collinear_touch</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>&amp; x,
+<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...">coordinate_type</a> <span class="keyword">const</span>&amp; y, <span class="keywordtype">bool</span>, <span class="keywordtype">char</span>)
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> result;
+<a name="l00063"></a>00063 result.count = 1;
+<a name="l00064"></a>00064 set&lt;0&gt;(result.intersections[0], x);
+<a name="l00065"></a>00065 set&lt;1&gt;(result.intersections[0], y);
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> result;
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00070"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#fff966d91744b1fa0f0f33680d73df40">00070</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#fff966d91744b1fa0f0f33680d73df40">collinear_inside</a>(S <span class="keyword">const</span>&amp; s)
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> result;
+<a name="l00073"></a>00073 result.count = 2;
+<a name="l00074"></a>00074 set&lt;0&gt;(result.intersections[0], get&lt;0, 0&gt;(s));
+<a name="l00075"></a>00075 set&lt;1&gt;(result.intersections[0], get&lt;0, 1&gt;(s));
+<a name="l00076"></a>00076 set&lt;0&gt;(result.intersections[1], get&lt;1, 0&gt;(s));
+<a name="l00077"></a>00077 set&lt;1&gt;(result.intersections[1], get&lt;1, 1&gt;(s));
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> result;
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00082"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#1fe7ee7acea8cc077bd98ca260d19bd9">00082</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#1fe7ee7acea8cc077bd98ca260d19bd9">collinear_interior_boundary_intersect</a>(S <span class="keyword">const</span>&amp; s, <span class="keywordtype">bool</span>, <span class="keywordtype">bool</span>)
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#fff966d91744b1fa0f0f33680d73df40">collinear_inside</a>(s);
+<a name="l00085"></a>00085 }
+<a name="l00086"></a>00086
+<a name="l00087"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#c6ae19aac0a85a1344c591ff2d4b0cbb">00087</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#c6ae19aac0a85a1344c591ff2d4b0cbb">collinear_a_in_b</a>(S1 <span class="keyword">const</span>&amp; s, <span class="keywordtype">bool</span>)
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#fff966d91744b1fa0f0f33680d73df40">collinear_inside</a>(s);
+<a name="l00090"></a>00090 }
+<a name="l00091"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#d963f9b96126549f9328bd702e17df0f">00091</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#d963f9b96126549f9328bd702e17df0f">collinear_b_in_a</a>(S2 <span class="keyword">const</span>&amp; s, <span class="keywordtype">bool</span>)
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#fff966d91744b1fa0f0f33680d73df40">collinear_inside</a>(s);
+<a name="l00094"></a>00094 }
+<a name="l00095"></a>00095
+<a name="l00096"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#23e3bbadf0217d59dfd71d01ee690ca8">00096</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#23e3bbadf0217d59dfd71d01ee690ca8">collinear_overlaps</a>(
+<a name="l00097"></a>00097 <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>&amp; x1, <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>&amp; y1,
+<a name="l00098"></a>00098 <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>&amp; x2, <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>&amp; y2, <span class="keywordtype">bool</span>)
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> result;
+<a name="l00101"></a>00101 result.count = 2;
+<a name="l00102"></a>00102 set&lt;0&gt;(result.intersections[0], x1);
+<a name="l00103"></a>00103 set&lt;1&gt;(result.intersections[0], y1);
+<a name="l00104"></a>00104 set&lt;0&gt;(result.intersections[1], x2);
+<a name="l00105"></a>00105 set&lt;1&gt;(result.intersections[1], y2);
+<a name="l00106"></a>00106 <span class="keywordflow">return</span> result;
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108
+<a name="l00109"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#2fc7e51ab6b17055f8017b9bb276b086">00109</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#2fc7e51ab6b17055f8017b9bb276b086">segment_equal</a>(S1 <span class="keyword">const</span>&amp; s, <span class="keywordtype">bool</span>)
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> result;
+<a name="l00112"></a>00112 result.count = 2;
+<a name="l00113"></a>00113 set&lt;0&gt;(result.intersections[0], get&lt;0, 0&gt;(s));
+<a name="l00114"></a>00114 set&lt;1&gt;(result.intersections[0], get&lt;0, 1&gt;(s));
+<a name="l00115"></a>00115 set&lt;0&gt;(result.intersections[1], get&lt;1, 0&gt;(s));
+<a name="l00116"></a>00116 set&lt;1&gt;(result.intersections[1], get&lt;1, 1&gt;(s));
+<a name="l00117"></a>00117 <span class="keywordflow">return</span> result;
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119
+<a name="l00120"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac05de9fec4c0ff68b0c70e28f8be442">00120</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac05de9fec4c0ff68b0c70e28f8be442">collinear_disjoint</a>()
+<a name="l00121"></a>00121 {
+<a name="l00122"></a>00122 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>();
+<a name="l00123"></a>00123 }
+<a name="l00124"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#92164bfd70c2ff6e8d2778594d69b6da">00124</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#92164bfd70c2ff6e8d2778594d69b6da">parallel</a>()
+<a name="l00125"></a>00125 {
+<a name="l00126"></a>00126 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>();
+<a name="l00127"></a>00127 }
+<a name="l00128"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#3cf559644d63441e018d2a590559986e">00128</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#3cf559644d63441e018d2a590559986e">degenerate</a>(S1 <span class="keyword">const</span>&amp; s, <span class="keywordtype">bool</span>)
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> result;
+<a name="l00131"></a>00131 result.count = 1;
+<a name="l00132"></a>00132 set&lt;0&gt;(result.intersections[0], get&lt;0, 0&gt;(s));
+<a name="l00133"></a>00133 set&lt;1&gt;(result.intersections[0], get&lt;0, 1&gt;(s));
+<a name="l00134"></a>00134 <span class="keywordflow">return</span> result;
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136 };
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 }} <span class="comment">// namespace policies::relate</span>
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 } <span class="comment">// namespace ggl</span>
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 <span class="preprocessor">#endif // GGL_GEOMETRY_POLICIES_RELATE_INTERSECTION_POINTS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__result_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__result_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/intersection_result.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dimensionally Extended 9 Intersection Matrix. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im__segment.html">ggl::de9im_segment</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__intersection__points.html">ggl::segment_intersection_points&lt; P &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__result_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__result_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,226 @@
+<!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">
+&nbsp;&nbsp;
+</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/intersection_result.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_INTERSECTION_RESULT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_INTERSECTION_RESULT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#if defined(HAVE_MATRIX_AS_STRING)</span>
+<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#include &lt;string&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#endif</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span>
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
+<a name="l00017"></a>00017 {
+<a name="l00018"></a>00018
+<a name="l00025"></a><a class="code" href="structggl_1_1de9im.html">00025</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1de9im.html" title="Dimensionally Extended 9 Intersection Matrix.">de9im</a>
+<a name="l00026"></a>00026 {
+<a name="l00027"></a><a class="code" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">00027</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a>, <a class="code" href="structggl_1_1de9im.html#4767776fd61e061393e0be863e9bb4df">ib</a>, <a class="code" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ie</a>,
+<a name="l00028"></a>00028 <a class="code" href="structggl_1_1de9im.html#f77b1dd2036f4f685e34bc73988eae7f">bi</a>, <a class="code" href="structggl_1_1de9im.html#ab65195a5bd2896f17d0e252b2bd40c7">bb</a>, <a class="code" href="structggl_1_1de9im.html#af418e3af0e74fca9df112e8c674fc30">be</a>,
+<a name="l00029"></a>00029 <a class="code" href="structggl_1_1de9im.html#e594f1211d0b2915f78a1c7ab403aa10">ei</a>, <a class="code" href="structggl_1_1de9im.html#b2d84c96bb9d0c9fa3c4e5e0ba9d4a65">eb</a>, <a class="code" href="structggl_1_1de9im.html#a3e8fb274304ac4413e7a19375156ad1">ee</a>;
+<a name="l00030"></a>00030
+<a name="l00031"></a><a class="code" href="structggl_1_1de9im.html#0e63fce9a0f98c1538e4fe41c5088680">00031</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im.html#0e63fce9a0f98c1538e4fe41c5088680">de9im</a>()
+<a name="l00032"></a>00032 : <a class="code" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a>(-1), <a class="code" href="structggl_1_1de9im.html#4767776fd61e061393e0be863e9bb4df">ib</a>(-1), <a class="code" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ie</a>(-1)
+<a name="l00033"></a>00033 , <a class="code" href="structggl_1_1de9im.html#f77b1dd2036f4f685e34bc73988eae7f">bi</a>(-1), <a class="code" href="structggl_1_1de9im.html#ab65195a5bd2896f17d0e252b2bd40c7">bb</a>(-1), <a class="code" href="structggl_1_1de9im.html#af418e3af0e74fca9df112e8c674fc30">be</a>(-1)
+<a name="l00034"></a>00034 , <a class="code" href="structggl_1_1de9im.html#e594f1211d0b2915f78a1c7ab403aa10">ei</a>(-1), <a class="code" href="structggl_1_1de9im.html#b2d84c96bb9d0c9fa3c4e5e0ba9d4a65">eb</a>(-1), <a class="code" href="structggl_1_1de9im.html#a3e8fb274304ac4413e7a19375156ad1">ee</a>(-1)
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037
+<a name="l00038"></a><a class="code" href="structggl_1_1de9im.html#47ea8035c439f3deaa82c2d909fc81a9">00038</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im.html#0e63fce9a0f98c1538e4fe41c5088680">de9im</a>(<span class="keywordtype">int</span> ii0, <span class="keywordtype">int</span> ib0, <span class="keywordtype">int</span> ie0,
+<a name="l00039"></a>00039 <span class="keywordtype">int</span> bi0, <span class="keywordtype">int</span> bb0, <span class="keywordtype">int</span> be0,
+<a name="l00040"></a>00040 <span class="keywordtype">int</span> ei0, <span class="keywordtype">int</span> eb0, <span class="keywordtype">int</span> ee0)
+<a name="l00041"></a>00041 : <a class="code" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a>(ii0), <a class="code" href="structggl_1_1de9im.html#4767776fd61e061393e0be863e9bb4df">ib</a>(ib0), <a class="code" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ie</a>(ie0)
+<a name="l00042"></a>00042 , <a class="code" href="structggl_1_1de9im.html#f77b1dd2036f4f685e34bc73988eae7f">bi</a>(bi0), <a class="code" href="structggl_1_1de9im.html#ab65195a5bd2896f17d0e252b2bd40c7">bb</a>(bb0), <a class="code" href="structggl_1_1de9im.html#af418e3af0e74fca9df112e8c674fc30">be</a>(be0)
+<a name="l00043"></a>00043 , <a class="code" href="structggl_1_1de9im.html#e594f1211d0b2915f78a1c7ab403aa10">ei</a>(ei0), <a class="code" href="structggl_1_1de9im.html#b2d84c96bb9d0c9fa3c4e5e0ba9d4a65">eb</a>(eb0), <a class="code" href="structggl_1_1de9im.html#a3e8fb274304ac4413e7a19375156ad1">ee</a>(ee0)
+<a name="l00044"></a>00044 {}
+<a name="l00045"></a>00045
+<a name="l00046"></a><a class="code" href="structggl_1_1de9im.html#01f365a488218068020af89113cd3745">00046</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1de9im.html#01f365a488218068020af89113cd3745">equals</a>()<span class="keyword"> const</span>
+<a name="l00047"></a>00047 <span class="keyword"> </span>{
+<a name="l00048"></a>00048 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a> &gt;= 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ie</a> &lt; 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#af418e3af0e74fca9df112e8c674fc30">be</a> &lt; 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#e594f1211d0b2915f78a1c7ab403aa10">ei</a> &lt; 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#b2d84c96bb9d0c9fa3c4e5e0ba9d4a65">eb</a> &lt; 0;
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050
+<a name="l00051"></a><a class="code" href="structggl_1_1de9im.html#80e3fee3098017c06891ec7690d9154b">00051</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1de9im.html#80e3fee3098017c06891ec7690d9154b">disjoint</a>()<span class="keyword"> const</span>
+<a name="l00052"></a>00052 <span class="keyword"> </span>{
+<a name="l00053"></a>00053 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a> &lt; 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#4767776fd61e061393e0be863e9bb4df">ib</a> &lt; 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#f77b1dd2036f4f685e34bc73988eae7f">bi</a> &lt; 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#ab65195a5bd2896f17d0e252b2bd40c7">bb</a> &lt; 0;
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055
+<a name="l00056"></a><a class="code" href="structggl_1_1de9im.html#2c901db53a08be784689180a944a5762">00056</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1de9im.html#2c901db53a08be784689180a944a5762">intersects</a>()<span class="keyword"> const</span>
+<a name="l00057"></a>00057 <span class="keyword"> </span>{
+<a name="l00058"></a>00058 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a> &gt;= 0 || <a class="code" href="structggl_1_1de9im.html#ab65195a5bd2896f17d0e252b2bd40c7">bb</a> &gt;= 0 || <a class="code" href="structggl_1_1de9im.html#f77b1dd2036f4f685e34bc73988eae7f">bi</a> &gt;= 0 || <a class="code" href="structggl_1_1de9im.html#4767776fd61e061393e0be863e9bb4df">ib</a> &gt;= 0;
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060
+<a name="l00061"></a><a class="code" href="structggl_1_1de9im.html#71d48a6fc35f6fd7544fb68396ea3457">00061</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1de9im.html#71d48a6fc35f6fd7544fb68396ea3457">touches</a>()<span class="keyword"> const</span>
+<a name="l00062"></a>00062 <span class="keyword"> </span>{
+<a name="l00063"></a>00063 <span class="keywordflow">return</span> ii &lt; 0 &amp;&amp; (bb &gt;= 0 || <a class="code" href="structggl_1_1de9im.html#f77b1dd2036f4f685e34bc73988eae7f">bi</a> &gt;= 0 || <a class="code" href="structggl_1_1de9im.html#4767776fd61e061393e0be863e9bb4df">ib</a> &gt;= 0);
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065
+<a name="l00066"></a><a class="code" href="structggl_1_1de9im.html#8cbd11f530d85ec94d9f1a5eeb6f6da4">00066</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1de9im.html#8cbd11f530d85ec94d9f1a5eeb6f6da4">crosses</a>()<span class="keyword"> const</span>
+<a name="l00067"></a>00067 <span class="keyword"> </span>{
+<a name="l00068"></a>00068 <span class="keywordflow">return</span> (<a class="code" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a> &gt;= 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ie</a> &gt;= 0) || (<a class="code" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a> == 0);
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070
+<a name="l00071"></a><a class="code" href="structggl_1_1de9im.html#b4bdbb38a70ad671ddd562dd0a41ebb5">00071</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1de9im.html#b4bdbb38a70ad671ddd562dd0a41ebb5">overlaps</a>()<span class="keyword"> const</span>
+<a name="l00072"></a>00072 <span class="keyword"> </span>{
+<a name="l00073"></a>00073 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a> &gt;= 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ie</a> &gt;= 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#e594f1211d0b2915f78a1c7ab403aa10">ei</a> &gt;= 0;
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075
+<a name="l00076"></a><a class="code" href="structggl_1_1de9im.html#2e3559f5402284e4c7ec8382f5c6866d">00076</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1de9im.html#2e3559f5402284e4c7ec8382f5c6866d">within</a>()<span class="keyword"> const</span>
+<a name="l00077"></a>00077 <span class="keyword"> </span>{
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a> &gt;= 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ie</a> &lt; 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#af418e3af0e74fca9df112e8c674fc30">be</a> &lt; 0;
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080
+<a name="l00081"></a><a class="code" href="structggl_1_1de9im.html#a15591d020883026f28f98f4071b80e5">00081</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1de9im.html#a15591d020883026f28f98f4071b80e5">contains</a>()<span class="keyword"> const</span>
+<a name="l00082"></a>00082 <span class="keyword"> </span>{
+<a name="l00083"></a>00083 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a> &gt;= 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#e594f1211d0b2915f78a1c7ab403aa10">ei</a> &lt; 0 &amp;&amp; <a class="code" href="structggl_1_1de9im.html#b2d84c96bb9d0c9fa3c4e5e0ba9d4a65">eb</a> &lt; 0;
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086
+<a name="l00087"></a><a class="code" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">00087</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">char</span> <a class="code" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">as_char</a>(<span class="keywordtype">int</span> v)
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> v &gt;= 0 &amp;&amp; v &lt; 10 ? (<span class="charliteral">'0'</span> + char(v)) : <span class="charliteral">'-'</span>;
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="preprocessor">#if defined(HAVE_MATRIX_AS_STRING)</span>
+<a name="l00093"></a>00093 <span class="preprocessor"></span> <span class="keyword">inline</span> std::string matrix_as_string(std::string <span class="keyword">const</span>&amp; tab, std::string <span class="keyword">const</span>&amp; nl)<span class="keyword"> const</span>
+<a name="l00094"></a>00094 <span class="keyword"> </span>{
+<a name="l00095"></a>00095 std::string ret;
+<a name="l00096"></a>00096 ret.reserve(9 + tab.length() * 3 + nl.length() * 3);
+<a name="l00097"></a>00097 ret += tab; ret += <a class="code" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">as_char</a>(<a class="code" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a>); ret += <a class="code" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">as_char</a>(<a class="code" href="structggl_1_1de9im.html#4767776fd61e061393e0be863e9bb4df">ib</a>); ret += <a class="code" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">as_char</a>(<a class="code" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ie</a>); ret += nl;
+<a name="l00098"></a>00098 ret += tab; ret += <a class="code" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">as_char</a>(<a class="code" href="structggl_1_1de9im.html#f77b1dd2036f4f685e34bc73988eae7f">bi</a>); ret += <a class="code" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">as_char</a>(<a class="code" href="structggl_1_1de9im.html#ab65195a5bd2896f17d0e252b2bd40c7">bb</a>); ret += <a class="code" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">as_char</a>(<a class="code" href="structggl_1_1de9im.html#af418e3af0e74fca9df112e8c674fc30">be</a>); ret += nl;
+<a name="l00099"></a>00099 ret += tab; ret += <a class="code" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">as_char</a>(<a class="code" href="structggl_1_1de9im.html#e594f1211d0b2915f78a1c7ab403aa10">ei</a>); ret += <a class="code" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">as_char</a>(<a class="code" href="structggl_1_1de9im.html#b2d84c96bb9d0c9fa3c4e5e0ba9d4a65">eb</a>); ret += <a class="code" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">as_char</a>(<a class="code" href="structggl_1_1de9im.html#a3e8fb274304ac4413e7a19375156ad1">ee</a>);
+<a name="l00100"></a>00100 <span class="keywordflow">return</span> ret;
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="keyword">inline</span> std::string matrix_as_string()<span class="keyword"> const</span>
+<a name="l00104"></a>00104 <span class="keyword"> </span>{
+<a name="l00105"></a>00105 <span class="keywordflow">return</span> matrix_as_string(<span class="stringliteral">""</span>, <span class="stringliteral">""</span>);
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107 <span class="preprocessor">#endif</span>
+<a name="l00108"></a>00108 <span class="preprocessor"></span>
+<a name="l00109"></a>00109 };
+<a name="l00110"></a>00110
+<a name="l00111"></a><a class="code" href="structggl_1_1de9im__segment.html">00111</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a> : <span class="keyword">public</span> <a class="code" href="structggl_1_1de9im.html" title="Dimensionally Extended 9 Intersection Matrix.">de9im</a>
+<a name="l00112"></a>00112 {
+<a name="l00113"></a><a class="code" href="structggl_1_1de9im__segment.html#74f8612ae82c3a2f5ca3d4a45737756a">00113</a> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1de9im__segment.html#74f8612ae82c3a2f5ca3d4a45737756a">collinear</a>; <span class="comment">// true if segments are aligned (for equal,overlap,touch)</span>
+<a name="l00114"></a><a class="code" href="structggl_1_1de9im__segment.html#41e71c0be72985cbf9558b172dddaf6f">00114</a> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1de9im__segment.html#41e71c0be72985cbf9558b172dddaf6f">opposite</a>; <span class="comment">// true if direction is reversed (for equal,overlap,touch)</span>
+<a name="l00115"></a><a class="code" href="structggl_1_1de9im__segment.html#22d637778bc6b7bca56ad475134ef243">00115</a> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1de9im__segment.html#22d637778bc6b7bca56ad475134ef243">parallel</a>; <span class="comment">// true if disjoint but parallel</span>
+<a name="l00116"></a><a class="code" href="structggl_1_1de9im__segment.html#b583e13a80450bfde17e1a35615ac236">00116</a> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1de9im__segment.html#b583e13a80450bfde17e1a35615ac236">degenerate</a>; <span class="comment">// true for segment(s) of zero length</span>
+<a name="l00117"></a>00117
+<a name="l00118"></a><a class="code" href="structggl_1_1de9im__segment.html#fb3fbaa64bb5d0f2d467a7878ff5fc56">00118</a> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1de9im__segment.html#c858acc9b9c763af75765e9dc0763b9c">ra</a>, <a class="code" href="structggl_1_1de9im__segment.html#fb3fbaa64bb5d0f2d467a7878ff5fc56">rb</a>; <span class="comment">// temp</span>
+<a name="l00119"></a>00119
+<a name="l00120"></a><a class="code" href="structggl_1_1de9im__segment.html#a7c88902c0ffe78b4ec4778c9ab21338">00120</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html#a7c88902c0ffe78b4ec4778c9ab21338">de9im_segment</a>()
+<a name="l00121"></a>00121 : <a class="code" href="structggl_1_1de9im.html" title="Dimensionally Extended 9 Intersection Matrix.">de9im</a>()
+<a name="l00122"></a>00122 , <a class="code" href="structggl_1_1de9im__segment.html#74f8612ae82c3a2f5ca3d4a45737756a">collinear</a>(false)
+<a name="l00123"></a>00123 , <a class="code" href="structggl_1_1de9im__segment.html#41e71c0be72985cbf9558b172dddaf6f">opposite</a>(false)
+<a name="l00124"></a>00124 , <a class="code" href="structggl_1_1de9im__segment.html#22d637778bc6b7bca56ad475134ef243">parallel</a>(false)
+<a name="l00125"></a>00125 , <a class="code" href="structggl_1_1de9im__segment.html#b583e13a80450bfde17e1a35615ac236">degenerate</a>(false)
+<a name="l00126"></a>00126 {}
+<a name="l00127"></a>00127
+<a name="l00128"></a><a class="code" href="structggl_1_1de9im__segment.html#0fe3f361fef06047e7befa1efea254da">00128</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html#a7c88902c0ffe78b4ec4778c9ab21338">de9im_segment</a>(<span class="keywordtype">double</span> a, <span class="keywordtype">double</span> b,
+<a name="l00129"></a>00129 <span class="keywordtype">int</span> ii0, <span class="keywordtype">int</span> ib0, <span class="keywordtype">int</span> ie0,
+<a name="l00130"></a>00130 <span class="keywordtype">int</span> bi0, <span class="keywordtype">int</span> bb0, <span class="keywordtype">int</span> be0,
+<a name="l00131"></a>00131 <span class="keywordtype">int</span> ei0, <span class="keywordtype">int</span> eb0, <span class="keywordtype">int</span> ee0,
+<a name="l00132"></a>00132 <span class="keywordtype">bool</span> c = <span class="keyword">false</span>, <span class="keywordtype">bool</span> o = <span class="keyword">false</span>, <span class="keywordtype">bool</span> p = <span class="keyword">false</span>, <span class="keywordtype">bool</span> d = <span class="keyword">false</span>)
+<a name="l00133"></a>00133 : <a class="code" href="structggl_1_1de9im.html" title="Dimensionally Extended 9 Intersection Matrix.">de9im</a>(ii0, ib0, ie0, bi0, bb0, be0, ei0, eb0, ee0)
+<a name="l00134"></a>00134 , <a class="code" href="structggl_1_1de9im__segment.html#74f8612ae82c3a2f5ca3d4a45737756a">collinear</a>(c)
+<a name="l00135"></a>00135 , <a class="code" href="structggl_1_1de9im__segment.html#41e71c0be72985cbf9558b172dddaf6f">opposite</a>(o)
+<a name="l00136"></a>00136 , <a class="code" href="structggl_1_1de9im__segment.html#22d637778bc6b7bca56ad475134ef243">parallel</a>(p)
+<a name="l00137"></a>00137 , <a class="code" href="structggl_1_1de9im__segment.html#b583e13a80450bfde17e1a35615ac236">degenerate</a>(d)
+<a name="l00138"></a>00138 , <a class="code" href="structggl_1_1de9im__segment.html#c858acc9b9c763af75765e9dc0763b9c">ra</a>(a), <a class="code" href="structggl_1_1de9im__segment.html#fb3fbaa64bb5d0f2d467a7878ff5fc56">rb</a>(b)
+<a name="l00139"></a>00139 {}
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 <span class="preprocessor">#if defined(HAVE_MATRIX_AS_STRING)</span>
+<a name="l00143"></a>00143 <span class="preprocessor"></span> <span class="keyword">inline</span> std::string as_string()<span class="keyword"> const</span>
+<a name="l00144"></a>00144 <span class="keyword"> </span>{
+<a name="l00145"></a>00145 std::string ret = matrix_as_string();
+<a name="l00146"></a>00146 ret += <a class="code" href="structggl_1_1de9im__segment.html#74f8612ae82c3a2f5ca3d4a45737756a">collinear</a> ? <span class="stringliteral">"c"</span> : <span class="stringliteral">"-"</span>;
+<a name="l00147"></a>00147 ret += <a class="code" href="structggl_1_1de9im__segment.html#41e71c0be72985cbf9558b172dddaf6f">opposite</a> ? <span class="stringliteral">"o"</span> : <span class="stringliteral">"-"</span>;
+<a name="l00148"></a>00148 <span class="keywordflow">return</span> ret;
+<a name="l00149"></a>00149 }
+<a name="l00150"></a>00150 <span class="preprocessor">#endif</span>
+<a name="l00151"></a>00151 <span class="preprocessor"></span>};
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00154"></a><a class="code" href="structggl_1_1segment__intersection__points.html">00154</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1segment__intersection__points.html">segment_intersection_points</a>
+<a name="l00155"></a>00155 {
+<a name="l00156"></a><a class="code" href="structggl_1_1segment__intersection__points.html#a1ecc423597a6f800f82f1ab092bd346">00156</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1segment__intersection__points.html#a1ecc423597a6f800f82f1ab092bd346">count</a>;
+<a name="l00157"></a><a class="code" href="structggl_1_1segment__intersection__points.html#94698ff4d23a90f0289a369e4d617d06">00157</a> P <a class="code" href="structggl_1_1segment__intersection__points.html#94698ff4d23a90f0289a369e4d617d06">intersections</a>[2];
+<a name="l00158"></a>00158
+<a name="l00159"></a><a class="code" href="structggl_1_1segment__intersection__points.html#ebb3f0ded51caefcde6f8e2fddb16c92">00159</a> <a class="code" href="structggl_1_1segment__intersection__points.html#ebb3f0ded51caefcde6f8e2fddb16c92">segment_intersection_points</a>()
+<a name="l00160"></a>00160 : <a class="code" href="structggl_1_1segment__intersection__points.html#a1ecc423597a6f800f82f1ab092bd346">count</a>(0)
+<a name="l00161"></a>00161 {}
+<a name="l00162"></a>00162 };
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 } <span class="comment">// namespace ggl</span>
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 <span class="preprocessor">#endif // GGL_INTERSECTION_RESULT_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersects_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersects_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/intersects.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 &nbsp;</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&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g5e7b5d7c8e010077237751f3a6b289ec">ggl::intersects</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine if there is at least one intersection (crossing or self-tangency). <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersects_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersects_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/intersects.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_ALGORITHMS_INTERSECTS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_INTERSECTS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="intersection__linestring_8hpp.html">ggl/algorithms/intersection_linestring.hpp</a>&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="get__intersection__points_8hpp.html">ggl/algorithms/overlay/get_intersection_points.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="self__intersection__points_8hpp.html">ggl/algorithms/overlay/self_intersection_points.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="adapt__turns_8hpp.html">ggl/algorithms/overlay/adapt_turns.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="enrich__intersection__points_8hpp.html">ggl/algorithms/overlay/enrich_intersection_points.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="traverse_8hpp.html">ggl/algorithms/overlay/traverse.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>ggl
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028
+<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00040"></a><a class="code" href="group__overlay.html#g5e7b5d7c8e010077237751f3a6b289ec">00040</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__overlay.html#g5e7b5d7c8e010077237751f3a6b289ec" title="Determine if there is at least one intersection (crossing or self-tangency).">intersects</a>(Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type ncg_type;
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keyword">typedef</span> std::vector&lt;ggl::detail::intersection::intersection_point
+<a name="l00045"></a>00045 &lt;<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&lt;Geometry&gt;::type</a>&gt; &gt; ip_vector;
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 ip_vector ips;
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 dispatch::self_intersection_points
+<a name="l00050"></a>00050 &lt;
+<a name="l00051"></a>00051 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;ncg_type&gt;::type</a>,
+<a name="l00052"></a>00052 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;ncg_type&gt;::type::value</a>,
+<a name="l00053"></a>00053 ncg_type,
+<a name="l00054"></a>00054 ip_vector
+<a name="l00055"></a>00055 &gt;::apply(geometry, <span class="keyword">true</span>, ips);
+<a name="l00056"></a>00056 <span class="keywordflow">return</span> ips.size() &gt; 0;
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 } <span class="comment">// ggl</span>
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="preprocessor">#endif //GGL_ALGORITHMS_INTERSECTS_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/transform/inverse_transformer.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">ggl::strategy::transform::inverse_transformer&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do an inverse ransformation in Cartesian system. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/transform/inverse_transformer.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_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 &lt;boost/numeric/ublas/lu.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/numeric/ublas/io.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="matrix__transformers_8hpp.html">ggl/strategies/transform/matrix_transformers.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
+<a name="l00017"></a>00017 {
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="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="l00020"></a>00020
+<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<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>&lt;P1, P2, dimension&lt;P1&gt;::type::value, dimension&lt;P2&gt;::type::value&gt;
+<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&lt;P1, P2&gt;::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> &lt;<span class="keyword">typename</span> MatrixType&gt;
+<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&amp; input)
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 <span class="keyword">typedef</span> boost::numeric::ublas::matrix&lt;double&gt; 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&lt;&gt; 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&lt;matrix_type&gt;(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-&gt;m_matrix.assign(boost::numeric::ublas::identity_matrix&lt;T&gt;(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-&gt;m_matrix);
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 };
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 }} <span class="comment">// namespace strategy::transform</span>
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 } <span class="comment">// namespace ggl</span>
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="preprocessor">#endif // GGL_STRATEGIES_TRANSFORM_INVERSE_TRANSFORMER_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/is__linear_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/is__linear_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/is_linear.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1is__linear.html">ggl::is_linear&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining "true" for linear types (<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), "false" for non-linear typse. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/is__linear_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/is__linear_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/is_linear.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_CORE_IS_LINEAR_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_IS_LINEAR_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 &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag&gt;
+<a name="l00029"></a>00029 <span class="keyword">struct </span>is_linear : boost::false_type {};
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;&gt;
+<a name="l00033"></a>00033 <span class="keyword">struct </span>is_linear&lt;linestring_tag&gt; : boost::true_type {};
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;&gt;
+<a name="l00037"></a>00037 <span class="keyword">struct </span>is_linear&lt;ring_tag&gt; : boost::true_type {};
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00041"></a>00041 <span class="preprocessor">#endif</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span>
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00052"></a><a class="code" href="structggl_1_1is__linear.html">00052</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1is__linear.html" title="Meta-function defining &amp;quot;true&amp;quot; for linear types (linestring,ring), &amp;quot;false&amp;quot;...">is_linear</a> : core_dispatch::<a class="code" href="structggl_1_1is__linear.html" title="Meta-function defining &amp;quot;true&amp;quot; for linear types (linestring,ring), &amp;quot;false&amp;quot;...">is_linear</a>&lt;typename tag&lt;Geometry&gt;::type&gt;
+<a name="l00053"></a>00053 {};
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 } <span class="comment">// namespace ggl</span>
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="preprocessor">#endif // GGL_CORE_IS_LINEAR_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2point__const__iterator_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2point__const__iterator_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__const__iterator.html">ggl::point_const_iterator&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2point__const__iterator_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2point__const__iterator_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,137 @@
+<!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">
+&nbsp;&nbsp;
+</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 &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</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> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry&gt;
+<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&lt;Geometry&gt;::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> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00043"></a>00043 <span class="keyword">struct </span>point_const_iterator&lt;polygon_tag, Polygon&gt;
+<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 &lt;
+<a name="l00047"></a>00047 <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type
+<a name="l00048"></a>00048 &gt;::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> &lt;<span class="keyword">typename</span> Geometry&gt;
+<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&lt;Geometry&gt;::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&lt;
+<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="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>, <a class="code" href="structggl_1_1point__const__iterator.html#57e35b1429bdc4d2100c488d5894d4df">ncg</a>&gt;<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/less_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/less_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/less.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1less.html">ggl::less&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Less predicate for usage in e.g. std::map. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/less_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/less_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/less.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_LESS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_LESS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="keyword">namespace </span>ggl
+<a name="l00014"></a>00014 {
+<a name="l00015"></a>00015
+<a name="l00020"></a>00020 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00025"></a>00025 <span class="keyword">struct </span>less
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>&amp; left, P <span class="keyword">const</span>&amp; right)
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029 <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&lt;P&gt;::type</a> coordinate_type;
+<a name="l00030"></a>00030 coordinate_type <span class="keyword">const</span> cleft = ggl::get&lt;Dimension&gt;(left);
+<a name="l00031"></a>00031 coordinate_type <span class="keyword">const</span> cright = ggl::get&lt;Dimension&gt;(right);
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <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>(cleft, cright)
+<a name="l00034"></a>00034 ? less&lt;P, Dimension + 1, DimensionCount&gt;::apply(left, right)
+<a name="l00035"></a>00035 : cleft &lt; cright;
+<a name="l00036"></a>00036 ;
+<a name="l00037"></a>00037 }
+<a name="l00038"></a>00038 };
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00041"></a>00041 <span class="keyword">struct </span>less&lt;P, DimensionCount, DimensionCount&gt;
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>&amp;, P <span class="keyword">const</span>&amp;)
+<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 }
+<a name="l00047"></a>00047 };
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050 <span class="preprocessor">#endif</span>
+<a name="l00051"></a>00051 <span class="preprocessor"></span>
+<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00053"></a><a class="code" href="structggl_1_1less.html">00053</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1less.html" title="Less predicate for usage in e.g. std::map.">less</a>
+<a name="l00054"></a>00054 {
+<a name="l00055"></a><a class="code" href="structggl_1_1less.html#d92a2c426998512de2eb68328c0292e5">00055</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1less.html#d92a2c426998512de2eb68328c0292e5">operator()</a>(P <span class="keyword">const</span>&amp; left, P <span class="keyword">const</span>&amp; right)<span class="keyword"> const</span>
+<a name="l00056"></a>00056 <span class="keyword"> </span>{
+<a name="l00057"></a>00057 <span class="keywordflow">return</span> detail::less&lt;P, 0,
+<a name="l00058"></a>00058 <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&lt;P&gt;::type::value</a>&gt;::apply(left, right);
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060 };
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 } <span class="comment">// namespace ggl</span>
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="preprocessor">#endif // GGL_UTIL_LESS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/linear_ring.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring&lt; P, V, A &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/linear_ring.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_LINEAR_RING_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_LINEAR_RING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;memory&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/concept/assert.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</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="l00033"></a>00033 <span class="keyword">template</span>
+<a name="l00034"></a>00034 &lt;
+<a name="l00035"></a>00035 <span class="keyword">typename</span> P,
+<a name="l00036"></a>00036 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>V = std::vector,
+<a name="l00037"></a>00037 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A = std::allocator
+<a name="l00038"></a>00038 &gt;
+<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&lt;P, A&lt;P&gt; &gt;
+<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&lt;P&gt;</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 &lt;
+<a name="l00050"></a>00050 <span class="keyword">typename</span> P,
+<a name="l00051"></a>00051 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>V,
+<a name="l00052"></a>00052 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A
+<a name="l00053"></a>00053 &gt;
+<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>&lt; <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>&lt;P, V, A&gt; &gt;
+<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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/linestring.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1linestring.html">ggl::linestring&lt; P, V, A &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/linestring.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_LINESTRING_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_LINESTRING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;memory&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/concept/assert.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<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="l00038"></a>00038 <span class="keyword">template</span>
+<a name="l00039"></a>00039 &lt;
+<a name="l00040"></a>00040 <span class="keyword">typename</span> P,
+<a name="l00041"></a>00041 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V = std::vector,
+<a name="l00042"></a>00042 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A = std::allocator
+<a name="l00043"></a>00043 &gt;
+<a name="l00044"></a><a class="code" href="classggl_1_1linestring.html">00044</a> <span class="keyword">class </span><a class="code" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> : <span class="keyword">public</span> V&lt;P, A&lt;P&gt; &gt;
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;P&gt;</a>) );
+<a name="l00047"></a>00047 };
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00051"></a>00051 {
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">template</span>
+<a name="l00054"></a>00054 &lt;
+<a name="l00055"></a>00055 <span class="keyword">typename</span> P,
+<a name="l00056"></a>00056 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V,
+<a name="l00057"></a>00057 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A
+<a name="l00058"></a>00058 &gt;
+<a name="l00059"></a>00059 <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>&lt;<a class="code" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>&lt;P, V, A&gt; &gt;
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1linestring__tag.html" title="OGC Linestring identifying tag.">linestring_tag</a> <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063 } <span class="comment">// namespace traits</span>
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00066"></a>00066 <span class="preprocessor"></span>
+<a name="l00067"></a>00067 } <span class="comment">// namespace ggl</span>
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="preprocessor">#endif // GGL_GEOMETRIES_LINESTRING_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/linestring_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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring&lt; L &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring&lt; L &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,137 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/linestring_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_CORE_CONCEPTS_LINESTRING_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CONCEPTS_LINESTRING_CONCEPT_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/concepts.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="clear_8hpp.html">ggl/algorithms/clear.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="append_8hpp.html">ggl/algorithms/append.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> L&gt;
+<a name="l00037"></a><a class="code" href="structggl_1_1concept_1_1_linestring.html">00037</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a>
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">private</span> :
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;L&gt;::type</a> P;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;P&gt;</a>) );
+<a name="l00043"></a>00043 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;L&gt;) );
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">public</span> :
+<a name="l00047"></a><a class="code" href="structggl_1_1concept_1_1_linestring.html#93370176c63ec560ead3a1cd8c8c3693">00047</a> <a class="code" href="structggl_1_1concept_1_1_linestring.html#93370176c63ec560ead3a1cd8c8c3693" title="BCCL macro to check the Linestring concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a>)
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="comment">// Check if it can be modified</span>
+<a name="l00051"></a>00051 L* ls;
+<a name="l00052"></a>00052 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>(*ls);
+<a name="l00053"></a>00053 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(*ls, P());
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055 };
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> L&gt;
+<a name="l00065"></a><a class="code" href="structggl_1_1concept_1_1_const_linestring.html">00065</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_const_linestring.html" title="Checks Linestring concept (const version).">ConstLinestring</a>
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keyword">private</span> :
+<a name="l00068"></a>00068 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;L&gt;::type</a> P;
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint&lt;P&gt;</a>) );
+<a name="l00071"></a>00071 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;L&gt;) );
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="keyword">public</span> :
+<a name="l00076"></a><a class="code" href="structggl_1_1concept_1_1_const_linestring.html#8154a02204ad8183d57420846e7b5449">00076</a> <a class="code" href="structggl_1_1concept_1_1_const_linestring.html#8154a02204ad8183d57420846e7b5449" title="BCCL macro to check the ConstLinestring concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_linestring.html" title="Checks Linestring concept (const version).">ConstLinestring</a>)
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="preprocessor">#endif // GGL_CORE_CONCEPTS_LINESTRING_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/loop_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/loop_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/loop.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 &nbsp;</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&lt;typename R , typename F , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f">ggl::loop</a> (R const &amp;range, F const &amp;functor, S &amp;state)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loops through segments of a container and call specified functor for all segments. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/loop_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/loop_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/loop.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_LOOP_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_LOOP_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="keyword">namespace </span>ggl
+<a name="l00018"></a>00018 {
+<a name="l00019"></a>00019
+<a name="l00061"></a>00061 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> F, <span class="keyword">typename</span> S&gt;
+<a name="l00062"></a><a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f">00062</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(R <span class="keyword">const</span>&amp; range, F <span class="keyword">const</span>&amp; functor, S&amp; state)
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;R&gt;::type iterator_type;
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 iterator_type it = boost::begin(range);
+<a name="l00067"></a>00067 <span class="keywordflow">if</span> (it != boost::end(range))
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 iterator_type previous = it++;
+<a name="l00070"></a>00070 <span class="keywordflow">while</span>(it != boost::end(range))
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const typename boost::range_value&lt;R&gt;::type</a>&gt; s(*previous, *it);
+<a name="l00073"></a>00073 <span class="keywordflow">if</span> (! functor(s, state))
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077 previous = it++;
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 } <span class="comment">// namespace ggl</span>
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="preprocessor">#endif // GGL_UTIL_LOOP_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/make_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/make_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,98 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/make.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 &nbsp;</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&lt;typename G , typename R &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9750fc3edbf82cd85b5fb76be78db0ee">ggl::make</a> (R const &amp;range)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#ad2f7f3eab9b088dbfce7f3e47dcbe77">ggl::make</a> (T const &amp;c1, T const &amp;c2, T const &amp;c3, T const &amp;c4)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g76b1eb0628944050f3f75472df289a1f">ggl::make</a> (T const &amp;c1, T const &amp;c2, T const &amp;c3)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa">ggl::make</a> (T const &amp;c1, T const &amp;c2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911">ggl::make_inverse</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with inverse infinite coordinates. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gb6c00a38f2e98ba4d83a04da43368071">ggl::make_zero</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a geometry with "zero" coordinates. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/make_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/make_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/algorithms/make.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_ALGORITHMS_MAKE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_MAKE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="keyword">namespace </span>ggl
+<a name="l00015"></a>00015 {
+<a name="l00016"></a>00016
+<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> T&gt;
+<a name="l00028"></a><a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa">00028</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa" title="Make a geometry.">make</a>(T <span class="keyword">const</span>&amp; c1, T <span class="keyword">const</span>&amp; c2)
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 G geometry;
+<a name="l00031"></a>00031 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00032"></a>00032 &lt;
+<a name="l00033"></a>00033 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00034"></a>00034 G,
+<a name="l00035"></a>00035 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension&lt;G&gt;::type::value</a>
+<a name="l00036"></a>00036 &gt;::apply(geometry, c1, c2);
+<a name="l00037"></a>00037 <span class="keywordflow">return</span> geometry;
+<a name="l00038"></a>00038 }
+<a name="l00039"></a>00039
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> T&gt;
+<a name="l00046"></a><a class="code" href="group__access.html#g76b1eb0628944050f3f75472df289a1f">00046</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa" title="Make a geometry.">make</a>(T <span class="keyword">const</span>&amp; c1, T <span class="keyword">const</span>&amp; c2, T <span class="keyword">const</span>&amp; c3)
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 G geometry;
+<a name="l00049"></a>00049 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00050"></a>00050 &lt;
+<a name="l00051"></a>00051 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00052"></a>00052 G,
+<a name="l00053"></a>00053 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension&lt;G&gt;::type::value</a>
+<a name="l00054"></a>00054 &gt;::apply(geometry, c1, c2, c3);
+<a name="l00055"></a>00055 <span class="keywordflow">return</span> geometry;
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> T&gt;
+<a name="l00059"></a><a class="code" href="namespaceggl.html#ad2f7f3eab9b088dbfce7f3e47dcbe77">00059</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa" title="Make a geometry.">make</a>(T <span class="keyword">const</span>&amp; c1, T <span class="keyword">const</span>&amp; c2, T <span class="keyword">const</span>&amp; c3, T <span class="keyword">const</span>&amp; c4)
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 G geometry;
+<a name="l00062"></a>00062 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00063"></a>00063 &lt;
+<a name="l00064"></a>00064 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00065"></a>00065 G,
+<a name="l00066"></a>00066 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension&lt;G&gt;::type::value</a>
+<a name="l00067"></a>00067 &gt;::apply(geometry, c1, c2, c3, c4);
+<a name="l00068"></a>00068 <span class="keywordflow">return</span> geometry;
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> R&gt;
+<a name="l00074"></a><a class="code" href="namespaceggl.html#9750fc3edbf82cd85b5fb76be78db0ee">00074</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa" title="Make a geometry.">make</a>(R <span class="keyword">const</span>&amp; range)
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 G geometry;
+<a name="l00077"></a>00077 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(geometry, range);
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> geometry;
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081
+<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00091"></a><a class="code" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911">00091</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911" title="Create a box with inverse infinite coordinates.">make_inverse</a>()
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 G geometry;
+<a name="l00094"></a>00094 <a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd" title="assign to a box inverse infinite">dispatch::assign_inverse</a>
+<a name="l00095"></a>00095 &lt;
+<a name="l00096"></a>00096 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00097"></a>00097 G
+<a name="l00098"></a>00098 &gt;::apply(geometry);
+<a name="l00099"></a>00099 <span class="keywordflow">return</span> geometry;
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101
+<a name="l00109"></a>00109 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00110"></a><a class="code" href="group__access.html#gb6c00a38f2e98ba4d83a04da43368071">00110</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#gb6c00a38f2e98ba4d83a04da43368071" title="Create a geometry with &amp;quot;zero&amp;quot; coordinates.">make_zero</a>()
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 G geometry;
+<a name="l00113"></a>00113 <a class="code" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0" title="assign zero values to a box, point">dispatch::assign_zero</a>
+<a name="l00114"></a>00114 &lt;
+<a name="l00115"></a>00115 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00116"></a>00116 G
+<a name="l00117"></a>00117 &gt;::apply(geometry);
+<a name="l00118"></a>00118 <span class="keywordflow">return</span> geometry;
+<a name="l00119"></a>00119 }
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 } <span class="comment">// namespace ggl</span>
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="preprocessor">#endif // GGL_ALGORITHMS_MAKE_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/map__transformer_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/map__transformer_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/transform/map_transformer.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do map from one to another Cartesian system. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/map__transformer_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/map__transformer_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,202 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/transform/map_transformer.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_TRANSFORM_MAP_TRANSFORMER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_TRANSFORM_MAP_TRANSFORMER_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 &lt;<a class="code" href="matrix__transformers_8hpp.html">ggl/strategies/transform/matrix_transformers.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
+<a name="l00017"></a>00017 {
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a> {
+<a name="l00020"></a>00020
+<a name="l00029"></a>00029 <span class="keyword">template</span>
+<a name="l00030"></a>00030 &lt;
+<a name="l00031"></a>00031 <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2,
+<a name="l00032"></a>00032 <span class="keywordtype">bool</span> Mirror, <span class="keywordtype">bool</span> SameScale = <span class="keyword">true</span>,
+<a name="l00033"></a>00033 std::size_t Dimension1 = <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;P1&gt;::type::value</a>,
+<a name="l00034"></a>00034 std::size_t Dimension2 = <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;P2&gt;::type::value</a>
+<a name="l00035"></a>00035 &gt;
+<a name="l00036"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">00036</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html" title="Transformation strategy to do map from one to another Cartesian system.">map_transformer</a>
+<a name="l00037"></a>00037 : <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>&lt;P1, P2, Dimension1, Dimension2&gt;
+<a name="l00038"></a>00038 {
+<a name="l00039"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cd9a362067f7a5825d01d040930a22c9">00039</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&lt;P1, P2&gt;::type</a> <a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cd9a362067f7a5825d01d040930a22c9">T</a>;
+<a name="l00040"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cfed826adf99f091779e40eb01718131">00040</a> <span class="keyword">typedef</span> boost::numeric::ublas::matrix&lt;T&gt; <a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cfed826adf99f091779e40eb01718131">M</a>;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> D&gt;
+<a name="l00043"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#50548a182f22cf997edb2c1d4b249291">00043</a> <span class="keyword">explicit</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#50548a182f22cf997edb2c1d4b249291">map_transformer</a>(B <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, D <span class="keyword">const</span>&amp; width, D <span class="keyword">const</span>&amp; height)
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 set_transformation(
+<a name="l00046"></a>00046 get&lt;min_corner, 0&gt;(box), get&lt;min_corner, 1&gt;(box),
+<a name="l00047"></a>00047 get&lt;max_corner, 0&gt;(box), get&lt;max_corner, 1&gt;(box),
+<a name="l00048"></a>00048 width, height);
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> W, <span class="keyword">typename</span> D&gt;
+<a name="l00052"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#d6c19c1e601bb6c183054684a59e5767">00052</a> <span class="keyword">explicit</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#50548a182f22cf997edb2c1d4b249291">map_transformer</a>(W <span class="keyword">const</span>&amp; wx1, W <span class="keyword">const</span>&amp; wy1, W <span class="keyword">const</span>&amp; wx2, W <span class="keyword">const</span>&amp; wy2,
+<a name="l00053"></a>00053 D <span class="keyword">const</span>&amp; width, D <span class="keyword">const</span>&amp; height)
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 set_transformation(wx1, wy1, wx2, wy2, width, height);
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keyword">private</span> :
+<a name="l00060"></a>00060 <span class="keywordtype">void</span> set_transformation_point(<span class="keywordtype">double</span> wx, <span class="keywordtype">double</span> wy, <span class="keywordtype">double</span> px, <span class="keywordtype">double</span> py, <span class="keywordtype">double</span> scalex, <span class="keywordtype">double</span> scaley)
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="comment">// Translate to a coordinate system centered on world coordinates (-wx, -wy)</span>
+<a name="l00064"></a>00064 <a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cfed826adf99f091779e40eb01718131">M</a> t1(3,3);
+<a name="l00065"></a>00065 t1(0,0) = 1; t1(0,1) = 0; t1(0,2) = -wx;
+<a name="l00066"></a>00066 t1(1,0) = 0; t1(1,1) = 1; t1(1,2) = -wy;
+<a name="l00067"></a>00067 t1(2,0) = 0; t1(2,1) = 0; t1(2,2) = 1;
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="comment">// Scale the map</span>
+<a name="l00070"></a>00070 <a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cfed826adf99f091779e40eb01718131">M</a> s(3,3);
+<a name="l00071"></a>00071 s(0,0) = scalex; s(0,1) = 0; s(0,2) = 0;
+<a name="l00072"></a>00072 s(1,0) = 0; s(1,1) = scaley; s(1,2) = 0;
+<a name="l00073"></a>00073 s(2,0) = 0; s(2,1) = 0; s(2,2) = 1;
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="comment">// Translate to a coordinate system centered on the specified pixels (+px, +py)</span>
+<a name="l00076"></a>00076 <a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cfed826adf99f091779e40eb01718131">M</a> t2(3, 3);
+<a name="l00077"></a>00077 t2(0,0) = 1; t2(0,1) = 0; t2(0,2) = px;
+<a name="l00078"></a>00078 t2(1,0) = 0; t2(1,1) = 1; t2(1,2) = py;
+<a name="l00079"></a>00079 t2(2,0) = 0; t2(2,1) = 0; t2(2,2) = 1;
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="comment">// Calculate combination matrix in two steps</span>
+<a name="l00082"></a>00082 this-&gt;m_matrix = boost::numeric::ublas::prod(s, t1);
+<a name="l00083"></a>00083 this-&gt;m_matrix = boost::numeric::ublas::prod(t2, this-&gt;m_matrix);
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> W, <span class="keyword">typename</span> D&gt;
+<a name="l00088"></a>00088 <span class="keywordtype">void</span> set_transformation(W <span class="keyword">const</span>&amp; wx1, W <span class="keyword">const</span>&amp; wy1, W <span class="keyword">const</span>&amp; wx2, W <span class="keyword">const</span>&amp; wy2,
+<a name="l00089"></a>00089 D <span class="keyword">const</span>&amp; width, D <span class="keyword">const</span>&amp; height)
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 D px1 = 0;
+<a name="l00092"></a>00092 D py1 = 0;
+<a name="l00093"></a>00093 D px2 = width;
+<a name="l00094"></a>00094 D py2 = height;
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="comment">// Calculate appropriate scale, take min because whole box must fit</span>
+<a name="l00098"></a>00098 <span class="comment">// Scale is in PIXELS/MAPUNITS (meters)</span>
+<a name="l00099"></a>00099 <span class="keywordtype">double</span> sx = (px2 - px1) / (wx2 - wx1);
+<a name="l00100"></a>00100 <span class="keywordtype">double</span> sy = (py2 - py1) / (wy2 - wy1);
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keywordflow">if</span> (SameScale)
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 <span class="keywordtype">double</span> scale = (std::min)(sx, sy);
+<a name="l00105"></a>00105 sx = scale;
+<a name="l00106"></a>00106 sy = scale;
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="comment">// Calculate centerpoints</span>
+<a name="l00110"></a>00110 <span class="keywordtype">double</span> wmx = (wx1 + wx2) / 2.0;
+<a name="l00111"></a>00111 <span class="keywordtype">double</span> wmy = (wy1 + wy2) / 2.0;
+<a name="l00112"></a>00112 <span class="keywordtype">double</span> pmx = (px1 + px2) / 2.0;
+<a name="l00113"></a>00113 <span class="keywordtype">double</span> pmy = (py1 + py2) / 2.0;
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 set_transformation_point(wmx, wmy, pmx, pmy, sx, sy);
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="keywordflow">if</span> (Mirror)
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 <span class="comment">// Mirror in y-direction</span>
+<a name="l00120"></a>00120 <a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cfed826adf99f091779e40eb01718131">M</a> m(3,3);
+<a name="l00121"></a>00121 m(0,0) = 1; m(0,1) = 0; m(0,2) = 0;
+<a name="l00122"></a>00122 m(1,0) = 0; m(1,1) = -1; m(1,2) = 0;
+<a name="l00123"></a>00123 m(2,0) = 0; m(2,1) = 0; m(2,2) = 1;
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="comment">// Translate in y-direction such that it fits again</span>
+<a name="l00126"></a>00126 <a class="code" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cfed826adf99f091779e40eb01718131">M</a> y(3, 3);
+<a name="l00127"></a>00127 y(0,0) = 1; y(0,1) = 0; y(0,2) = 0;
+<a name="l00128"></a>00128 y(1,0) = 0; y(1,1) = 1; y(1,2) = height;
+<a name="l00129"></a>00129 y(2,0) = 0; y(2,1) = 0; y(2,2) = 1;
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <span class="comment">// Calculate combination matrix in two steps</span>
+<a name="l00132"></a>00132 this-&gt;m_matrix = boost::numeric::ublas::prod(m, this-&gt;m_matrix);
+<a name="l00133"></a>00133 this-&gt;m_matrix = boost::numeric::ublas::prod(y, this-&gt;m_matrix);
+<a name="l00134"></a>00134 }
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136 };
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 }} <span class="comment">// namespace strategy::transform</span>
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 } <span class="comment">// namespace ggl</span>
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="preprocessor">#endif // GGL_STRATEGIES_TRANSFORM_MAP_TRANSFORMER_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/math_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/math_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,99 @@
+<!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">
+&nbsp;&nbsp;
+</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/math.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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html">ggl::math</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T1 , typename T2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34">ggl::math::equals</a> (T1 const &amp;a, T2 const &amp;b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns true if both arguments are equal. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#eda38de76b567b170a5c9cadbe660311">ggl::math::hav</a> (T const &amp;theta)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates the haversine of an angle. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#c23ed0ce6b779976def3d4b3d633d337">ggl::math::sqr</a> (T const &amp;value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Short utility to return the square. <br></td></tr>
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">ggl::math::d2r</a> = pi / 180.0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">ggl::math::pi</a> = boost::math::constants::pi&lt;double&gt;()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">ggl::math::r2d</a> = 1.0 / d2r</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">ggl::math::two_pi</a> = 2.0 * pi</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/math_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/math_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,134 @@
+<!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">
+&nbsp;&nbsp;
+</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/math.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_MATH_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_MATH_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cmath&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;limits&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/math/constants/constants.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="select__most__precise_8hpp.html">ggl/util/select_most_precise.hpp</a>&gt;</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_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="l00026"></a>00026
+<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<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>&amp; a, T2 <span class="keyword">const</span>&amp; 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&lt;T1, T2&gt;::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&lt;select_type&gt;::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) &lt; std::numeric_limits&lt;select_type&gt;::epsilon();
+<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
+<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&lt;double&gt;();
+<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> &lt;<span class="keyword">typename</span> T&gt;
+<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>&amp; 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&lt;T&gt;() * 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> &lt;<span class="keyword">typename</span> T&gt;
+<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>&amp; 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="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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/transform/matrix_transformers.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">ggl::strategy::transform::rotate_transformer&lt; P1, P2, DegreeOrRadian &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to rotate in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">ggl::strategy::transform::scale_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to scale in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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">ggl::strategy::transform::scale_transformer&lt; P1, P2, 2, 2 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::scale_transformer&lt; P1, P2, 3, 3 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">ggl::strategy::transform::translate_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to translate in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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">ggl::strategy::transform::translate_transformer&lt; P1, P2, 2, 2 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::translate_transformer&lt; P1, P2, 3, 3 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do an affine matrix transformation in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__transformers_8hpp.html#20205a89cb81145766e74d5a1d27f049">BOOST_UBLAS_TYPE_CHECK</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="20205a89cb81145766e74d5a1d27f049"></a><!-- doxytag: member="matrix_transformers.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&nbsp;&nbsp;&nbsp;0 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,385 @@
+<!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">
+&nbsp;&nbsp;
+</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/transform/matrix_transformers.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_MATRIX_TRANSFORMERS_HPP</span>
+<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 &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/numeric/ublas/vector.hpp&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;boost/numeric/ublas/matrix.hpp&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</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="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 &lt;
+<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 &gt;
+<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> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<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>&lt;P1, P2, 2, 2&gt;
+<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&lt;P1, P2&gt;::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&lt;coordinate_type&gt; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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="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&amp; p1, P2&amp; p2)<span class="keyword"> const</span>
+<a name="l00076"></a>00076 <span class="keyword"> </span>{
+<a name="l00077"></a>00077 assert_dimension_greater_equal&lt;P1, 2&gt;();
+<a name="l00078"></a>00078 assert_dimension_greater_equal&lt;P2, 2&gt;();
+<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>&amp; c1 = get&lt;0&gt;(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>&amp; c2 = get&lt;1&gt;(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&lt;P2&gt;::type</a> ct2;
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 set&lt;0&gt;(p2, boost::numeric_cast&lt;ct2&gt;(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&lt;1&gt;(p2, boost::numeric_cast&lt;ct2&gt;(c1 * m_matrix(1,0)
+<a name="l00088"></a>00088 + c2 * m_matrix(1,1) + m_matrix(1,2)));
+<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&amp; <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> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<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>&lt;P1, P2, 3, 2&gt;
+<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>&lt;P1, P2, 2, 2&gt;
+<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&lt;P1, P2&gt;::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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&lt;P1, P2, 2, 2&gt;(
+<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>&lt;P1, P2, 2, 2&gt;()
+<a name="l00116"></a>00116 {}
+<a name="l00117"></a>00117 };
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<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>&lt;P1, P2, 3, 3&gt;
+<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&lt;P1, P2&gt;::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&lt;coordinate_type&gt; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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="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&amp; p1, P2&amp; 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>&amp; c1 = get&lt;0&gt;(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>&amp; c2 = get&lt;1&gt;(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>&amp; c3 = get&lt;2&gt;(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&lt;P2&gt;::type</a> ct2;
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 set&lt;0&gt;(p2, boost::numeric_cast&lt;ct2&gt;(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&lt;1&gt;(p2, boost::numeric_cast&lt;ct2&gt;(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&lt;2&gt;(p2, boost::numeric_cast&lt;ct2&gt;(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&amp; <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="l00173"></a>00173
+<a name="l00174"></a>00174
+<a name="l00184"></a>00184 <span class="keyword">template</span>
+<a name="l00185"></a>00185 &lt;
+<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&lt;P1&gt;::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&lt;P2&gt;::type::value</a>
+<a name="l00189"></a>00189 &gt;
+<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> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<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>&lt;P1, P2, 2, 2&gt;
+<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>&lt;P1, P2, 2, 2&gt;
+<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&lt;P1, P2&gt;::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>&amp; 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>&amp; 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>&amp; 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>&lt;P1, P2, 2, 2&gt;(
+<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> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<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>&lt;P1, P2, 3, 3&gt; : <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>&lt;P1, P2, 3, 3&gt;
+<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&lt;P1, P2&gt;::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="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>&amp; 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>&amp; 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>&amp; 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>&lt;P1, P2, 3, 3&gt;(
+<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 &lt;
+<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&lt;P1&gt;::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&lt;P2&gt;::type::value</a>
+<a name="l00244"></a>00244 &gt;
+<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> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<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>&lt;P1, P2, 2, 2&gt; : <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>&lt;P1, P2, 2, 2&gt;
+<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&lt;P1, P2&gt;::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="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>&amp; 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>&amp; 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>&amp; 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>&lt;P1, P2, 2, 2&gt;(
+<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> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<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>&lt;P1, P2, 3, 3&gt; : <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>&lt;P1, P2, 3, 3&gt;
+<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&lt;P1, P2&gt;::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="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>&amp; 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>&amp; 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>&amp; 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>&lt;P1, P2, 3, 3&gt;(
+<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="l00284"></a>00284
+<a name="l00285"></a>00285 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> DegreeOrRadian&gt;
+<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> &lt;&gt;
+<a name="l00289"></a>00289 <span class="keyword">struct </span>as_radian&lt;<a class="code" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>&gt;
+<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>&amp; 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> &lt;&gt;
+<a name="l00298"></a>00298 <span class="keyword">struct </span>as_radian&lt;degree&gt;
+<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>&amp; 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 &lt;
+<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&lt;P1&gt;::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&lt;P2&gt;::type::value</a>
+<a name="l00313"></a>00313 &gt;
+<a name="l00314"></a>00314 <span class="keyword">struct </span>rad_rotate_transformer
+<a name="l00315"></a>00315 : ublas_transformer&lt;P1, P2, Dimension1, Dimension2&gt;
+<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>&amp; angle)
+<a name="l00318"></a>00318 : ublas_transformer&lt;P1, P2, Dimension1, Dimension2&gt;(
+<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> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> DegreeOrRadian&gt;
+<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&lt;P1, P2&gt;
+<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>&amp; angle)
+<a name="l00344"></a>00344 : detail::rad_rotate_transformer
+<a name="l00345"></a>00345 &lt;
+<a name="l00346"></a>00346 P1, P2
+<a name="l00347"></a>00347 &gt;(detail::as_radian&lt;DegreeOrRadian&gt;::<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="l00354"></a>00354
+<a name="l00355"></a>00355 } <span class="comment">// namespace ggl</span>
+<a name="l00356"></a>00356
+<a name="l00357"></a>00357 <span class="preprocessor">#endif // GGL_STRATEGIES_MATRIX_TRANSFORMERS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/merge_intersection_points.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 &nbsp;</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&lt;typename IntersectionPoints &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f">ggl::merge_intersection_points</a> (IntersectionPoints &amp;intersection_points)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Merges intersection points such that points at the same location will be merged, having one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> and their info-records appended. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,312 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/merge_intersection_points.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_ALGORITHMS_MERGE_INTERSECTION_POINTS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_MERGE_INTERSECTION_POINTS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;algorithm&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="equals_8hpp.html">ggl/algorithms/equals.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>ggl
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>Type&gt;
+<a name="l00032"></a>00032 <span class="keyword">struct </span>on_increasing_dimension
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;PointType&gt;::type</a> coordinate_type;
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(PointType <span class="keyword">const</span>&amp; lhs, PointType <span class="keyword">const</span>&amp; rhs)<span class="keyword"> const</span>
+<a name="l00037"></a>00037 <span class="keyword"> </span>{
+<a name="l00038"></a>00038 coordinate_type <span class="keyword">const</span>&amp; left0 = ggl::get&lt;0&gt;(lhs);
+<a name="l00039"></a>00039 coordinate_type <span class="keyword">const</span>&amp; right0 = ggl::get&lt;0&gt;(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="l00042"></a>00042 ? ggl::get&lt;1&gt;(lhs) &lt; ggl::get&lt;1&gt;(rhs)
+<a name="l00043"></a>00043 : left0 &lt; right0;
+<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
+<a name="l00049"></a>00049 <span class="comment">// T can be an intersection_point or intersection_info record</span>
+<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00051"></a>00051 <span class="keyword">struct </span>is_flagged
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(T <span class="keyword">const</span>&amp; <span class="keywordtype">object</span>)<span class="keyword"> const</span>
+<a name="l00054"></a>00054 <span class="keyword"> </span>{
+<a name="l00055"></a>00055 <span class="keywordflow">return</span> <span class="keywordtype">object</span>.flagged;
+<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
+<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V&gt;
+<a name="l00062"></a>00062 <span class="keyword">inline</span> <span class="keywordtype">void</span> remove_collinearities(V&amp; intersection_points)
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;V&gt;::type iterator_type;
+<a name="l00065"></a>00065 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;V&gt;::type ip_type;
+<a name="l00066"></a>00066 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_type info_type;
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keywordflow">for</span> (iterator_type it = boost::begin(intersection_points);
+<a name="l00070"></a>00070 it != boost::end(intersection_points);
+<a name="l00071"></a>00071 ++it)
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keywordflow">if</span> (! it-&gt;trivial &amp;&amp; ! it-&gt;flagged)
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="comment">// Remove anything having to do with collinearity</span>
+<a name="l00076"></a>00076 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;V&gt;::type::traversal_vector vector_type;
+<a name="l00077"></a>00077 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;vector_type&gt;::type tvit_type;
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="keywordtype">bool</span> has_flag = <span class="keyword">false</span>;
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="comment">// Note, this is done n*m, in case of collinearity, but it is only done if not trivial</span>
+<a name="l00082"></a>00082 <span class="comment">// or if there</span>
+<a name="l00083"></a>00083 <span class="keywordtype">bool</span> middle = <span class="keyword">false</span>;
+<a name="l00084"></a>00084 <span class="keywordflow">for</span> (tvit_type tvit = boost::begin(it-&gt;info);
+<a name="l00085"></a>00085 ! middle &amp;&amp; tvit != boost::end(it-&gt;info);
+<a name="l00086"></a>00086 ++tvit)
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="keywordflow">if</span> (tvit-&gt;how == <span class="charliteral">'e'</span> || tvit-&gt;how == <span class="charliteral">'c'</span>)
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 tvit-&gt;flagged = <span class="keyword">true</span>;
+<a name="l00091"></a>00091 has_flag = <span class="keyword">true</span>;
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="keywordflow">for</span> (tvit_type tvit2 = boost::begin(it-&gt;info);
+<a name="l00094"></a>00094 tvit2 != boost::end(it-&gt;info); ++tvit2)
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 <span class="comment">// Do NOT remove anything starting from collinear, or ending on, in the middle.</span>
+<a name="l00097"></a>00097 <span class="keywordflow">if</span> (tvit2-&gt;how != <span class="charliteral">'m'</span> &amp;&amp; tvit2-&gt;how != <span class="charliteral">'s'</span>)
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 <span class="keywordflow">if</span> (tvit-&gt;seg_id == tvit2-&gt;seg_id
+<a name="l00100"></a>00100 || tvit-&gt;seg_id == tvit2-&gt;other_id
+<a name="l00101"></a>00101 || tvit-&gt;other_id == tvit2-&gt;seg_id
+<a name="l00102"></a>00102 || tvit-&gt;other_id == tvit2-&gt;other_id
+<a name="l00103"></a>00103 )
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 tvit2-&gt;flagged = <span class="keyword">true</span>;
+<a name="l00106"></a>00106 }
+<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 tvit-&gt;flagged = <span class="keyword">false</span>;
+<a name="l00111"></a>00111 has_flag = <span class="keyword">false</span>;
+<a name="l00112"></a>00112 middle = <span class="keyword">true</span>;
+<a name="l00113"></a>00113 }
+<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="keywordflow">if</span> (has_flag)
+<a name="l00119"></a>00119 {
+<a name="l00120"></a>00120 it-&gt;info.erase(
+<a name="l00121"></a>00121 std::remove_if(
+<a name="l00122"></a>00122 boost::begin(it-&gt;info),
+<a name="l00123"></a>00123 boost::end(it-&gt;info),
+<a name="l00124"></a>00124 is_flagged&lt;info_type&gt;()),
+<a name="l00125"></a>00125 boost::end(it-&gt;info));
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 <span class="comment">// Mark for deletion afterwards if there are no info-records left</span>
+<a name="l00128"></a>00128 <span class="keywordflow">if</span> (boost::size(it-&gt;info) == 0)
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130 it-&gt;flagged = <span class="keyword">true</span>;
+<a name="l00131"></a>00131 }
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="comment">// Cases, previously forming an 'angle' (test #19)</span>
+<a name="l00134"></a>00134 <span class="comment">// will be normal (neutral) case now,</span>
+<a name="l00135"></a>00135 <span class="comment">// so to continue traversal:</span>
+<a name="l00136"></a>00136 <span class="keywordflow">if</span> (it-&gt;info.size() == 2
+<a name="l00137"></a>00137 &amp;&amp; it-&gt;info.front().how == <span class="charliteral">'a'</span>
+<a name="l00138"></a>00138 &amp;&amp; it-&gt;info.back().how == <span class="charliteral">'a'</span>)
+<a name="l00139"></a>00139 {
+<a name="l00140"></a>00140 it-&gt;info.front().direction = 1;
+<a name="l00141"></a>00141 it-&gt;info.back().direction = 1;
+<a name="l00142"></a>00142 }
+<a name="l00143"></a>00143 }
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145 }
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00148"></a>00148 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Removed collinearities: "</span> &lt;&lt; std::endl;
+<a name="l00149"></a>00149 report_ip(intersection_points);
+<a name="l00150"></a>00150 <span class="preprocessor">#endif</span>
+<a name="l00151"></a>00151 <span class="preprocessor"></span>}
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00158"></a>00158 <span class="preprocessor">#endif //DOXYGEN_NO_DETAIL</span>
+<a name="l00159"></a>00159 <span class="preprocessor"></span>
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161
+<a name="l00169"></a>00169 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00170"></a><a class="code" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f">00170</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f" title="Merges intersection points such that points at the same location will be merged,...">merge_intersection_points</a>(IntersectionPoints&amp; intersection_points)
+<a name="l00171"></a>00171 {
+<a name="l00172"></a>00172 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;IntersectionPoints&gt;::type trav_type;
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 <span class="keywordflow">if</span> (boost::size(intersection_points) &lt;= 1)
+<a name="l00175"></a>00175 {
+<a name="l00176"></a>00176 <span class="keywordflow">return</span>;
+<a name="l00177"></a>00177 }
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180 <span class="comment">// Sort all IP's from left-&gt;right, ymin-&gt;ymax such that</span>
+<a name="l00181"></a>00181 <span class="comment">// all same IP's are consecutive</span>
+<a name="l00182"></a>00182 <span class="comment">// (and we need this order lateron again)</span>
+<a name="l00183"></a>00183 <span class="comment">// This order is NOT changed here and should not be after</span>
+<a name="l00184"></a>00184 <span class="comment">// (otherwise indexes are wrong)</span>
+<a name="l00185"></a>00185 std::sort(boost::begin(intersection_points),
+<a name="l00186"></a>00186 boost::end(intersection_points),
+<a name="l00187"></a>00187 detail::intersection::on_increasing_dimension&lt;trav_type&gt;());
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;IntersectionPoints&gt;::type iterator;
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00192"></a>00192 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Sorted (x then y): "</span> &lt;&lt; std::endl;
+<a name="l00193"></a>00193 <span class="keywordflow">for</span> (iterator it = boost::begin(intersection_points);
+<a name="l00194"></a>00194 it != boost::end(intersection_points); ++it)
+<a name="l00195"></a>00195 {
+<a name="l00196"></a>00196 std::cout &lt;&lt; *it;
+<a name="l00197"></a>00197 }
+<a name="l00198"></a>00198 <span class="preprocessor">#endif</span>
+<a name="l00199"></a>00199 <span class="preprocessor"></span> <span class="keywordtype">bool</span> has_merge = <span class="keyword">false</span>;
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201 <span class="comment">// Merge all same IP's, combining there IP/segment-info entries</span>
+<a name="l00202"></a>00202 iterator it = boost::begin(intersection_points);
+<a name="l00203"></a>00203 <span class="keywordflow">for</span> (iterator prev = it++; it != boost::end(intersection_points); ++it)
+<a name="l00204"></a>00204 {
+<a name="l00205"></a>00205 <span class="comment">// IP can be merged if the point is equal</span>
+<a name="l00206"></a>00206 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">ggl::equals</a>(prev-&gt;point, it-&gt;point))
+<a name="l00207"></a>00207 {
+<a name="l00208"></a>00208 has_merge = <span class="keyword">true</span>;
+<a name="l00209"></a>00209 prev-&gt;shared = <span class="keyword">true</span>;
+<a name="l00210"></a>00210 prev-&gt;trivial = <span class="keyword">false</span>;
+<a name="l00211"></a>00211 it-&gt;flagged = <span class="keyword">true</span>;
+<a name="l00212"></a>00212 std::copy(it-&gt;info.begin(), it-&gt;info.end(),
+<a name="l00213"></a>00213 std::back_inserter(prev-&gt;info));
+<a name="l00214"></a>00214 }
+<a name="l00215"></a>00215 <span class="keywordflow">else</span>
+<a name="l00216"></a>00216 {
+<a name="l00217"></a>00217 prev = it;
+<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="keywordflow">if</span> (has_merge)
+<a name="l00223"></a>00223 {
+<a name="l00224"></a>00224 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00225"></a>00225 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Merged (1): "</span> &lt;&lt; std::endl;
+<a name="l00226"></a>00226 report_ip(intersection_points);
+<a name="l00227"></a>00227 <span class="preprocessor">#endif</span>
+<a name="l00228"></a>00228 <span class="preprocessor"></span>
+<a name="l00229"></a>00229 <span class="comment">// If there merges, there might be collinearities</span>
+<a name="l00230"></a>00230 detail::intersection::remove_collinearities(intersection_points);
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 <span class="comment">// Remove all IP's which are flagged for deletion</span>
+<a name="l00233"></a>00233 intersection_points.erase(
+<a name="l00234"></a>00234 std::remove_if(
+<a name="l00235"></a>00235 boost::begin(intersection_points),
+<a name="l00236"></a>00236 boost::end(intersection_points),
+<a name="l00237"></a>00237 detail::intersection::is_flagged&lt;trav_type&gt;()),
+<a name="l00238"></a>00238 boost::end(intersection_points));
+<a name="l00239"></a>00239
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00242"></a>00242 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"Merged (2): "</span> &lt;&lt; std::endl;
+<a name="l00243"></a>00243 report_ip(intersection_points);
+<a name="l00244"></a>00244 <span class="preprocessor">#endif</span>
+<a name="l00245"></a>00245 <span class="preprocessor"></span>
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247 }
+<a name="l00248"></a>00248
+<a name="l00249"></a>00249 }
+<a name="l00250"></a>00250
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252 } <span class="comment">// namespace ggl</span>
+<a name="l00253"></a>00253
+<a name="l00254"></a>00254 <span class="preprocessor">#endif // GGL_ALGORITHMS_MERGE_INTERSECTION_POINTS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/modify__with__predicate_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/modify__with__predicate_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/detail/modify_with_predicate.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/modify__with__predicate_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/modify__with__predicate_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/detail/modify_with_predicate.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_MULTI_ALGORITHMS_DETAIL_MODIFY_WITH_PREDICATE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_DETAIL_MODIFY_WITH_PREDICATE_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 &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="keyword">namespace </span>ggl {
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="keyword">namespace </span>detail {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiGeometry, <span class="keyword">typename</span> Predicate, <span class="keyword">typename</span> Policy&gt;
+<a name="l00024"></a>00024 <span class="keyword">struct </span>multi_modify_with_predicate
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(MultiGeometry&amp; multi, Predicate <span class="keyword">const</span>&amp; predicate)
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;MultiGeometry&gt;::type iterator_type;
+<a name="l00029"></a>00029 <span class="keywordflow">for</span> (iterator_type it = boost::begin(multi);
+<a name="l00030"></a>00030 it != boost::end(multi);
+<a name="l00031"></a>00031 ++it)
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 Policy::apply(*it, predicate);
+<a name="l00034"></a>00034 }
+<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="comment">// namespace detail</span>
+<a name="l00040"></a>00040 <span class="preprocessor">#endif</span>
+<a name="l00041"></a>00041 <span class="preprocessor"></span>
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 } <span class="comment">// namespace ggl</span>
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_DETAIL_MODIFY_WITH_PREDICATE_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/modules.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/modules.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,89 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Modules</h1>Here is a list of all modules:<ul>
+<li><a class="el" href="group__access.html">access: get/set coordinate values, make objects, clear geometries, append point(s)</a>
+<li><a class="el" href="group__area.html">area calculation</a>
+<li><a class="el" href="group__arithmetic.html">arithmetic: arithmetic operations on points</a>
+<li><a class="el" href="group__boolean__relations.html">boolean relationships (equals, disjoint, overlaps, etc)</a>
+<li><a class="el" href="group__buffer.html">buffer calculation</a>
+<li><a class="el" href="group__centroid.html">centroid calculation</a>
+<li><a class="el" href="group__combine.html">combine: add a geometry to a bounding box</a>
+<li><a class="el" href="group__concepts.html">concept checking</a>
+<li><a class="el" href="group__convert.html">convert geometries from one type to another</a>
+<li><a class="el" href="group__convex__hull.html">convex hull calculation</a>
+<li><a class="el" href="group__cs.html">coordinate systems</a>
+<li><a class="el" href="group__core.html">core: meta-functions for geometry types</a>
+<li><a class="el" href="group__distance.html">distance calculation</a>
+<li><a class="el" href="group__envelope.html">envelope calculation</a>
+<li><a class="el" href="group__intermediate.html">intermediate calculation</a>
+<li><a class="el" href="group__length.html">length calculation</a>
+<li><a class="el" href="group__loop.html">loops and for-each functionality</a>
+<li><a class="el" href="group__overlay.html">overlay operations (intersection, union, clipping)</a>
+<li><a class="el" href="group__perimeter.html">perimeter calculation</a>
+<li><a class="el" href="group__sectionalize.html">sectionalize: split a geometry (polygon, linestring, etc)</a>
+<li><a class="el" href="group__selected.html">selection: check if a geometry is "selected" by a point</a>
+<li><a class="el" href="group__simplify.html">simplification (generalization)</a>
+<li><a class="el" href="group__traits.html">traits: adapt geometries</a>
+<li><a class="el" href="group__transform.html">transformations</a>
+<li><a class="el" href="group__utility.html">utility: utilities</a>
+<li><a class="el" href="group__svg.html">x Extension svg: Stream SVG (Scalable Vector Graphics)</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/area.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,102 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/area.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_MULTI_ALGORITHMS_AREA_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_AREA_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2area_8hpp.html">ggl/algorithms/area.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2point__type_8hpp.html">ggl/multi/core/point_type.hpp</a>&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="multi__sum_8hpp.html">ggl/multi/algorithms/detail/multi_sum.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#ifndef DOXYGEN_NO_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> &lt;<span class="keyword">typename</span> MultiGeometry, <span class="keyword">typename</span> Strategy&gt;
+<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>&lt;multi_polygon_tag, MultiGeometry, Strategy&gt;
+<a name="l00024"></a>00024 : detail::multi_sum&lt;double, MultiGeometry, Strategy,
+<a name="l00025"></a>00025 detail::area::polygon_area&lt;
+<a name="l00026"></a>00026 typename boost::range_value&lt;MultiGeometry&gt;::type, Strategy&gt; &gt;
+<a name="l00027"></a>00027 {};
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 } <span class="comment">// namespace dispatch</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#endif</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span>
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 } <span class="comment">// namespace ggl</span>
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_AREA_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/centroid.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,146 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/centroid.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_MULTI_ALGORITHMS_CENTROID_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_CENTROID_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2centroid_8hpp.html">ggl/algorithms/centroid.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2point__type_8hpp.html">ggl/multi/core/point_type.hpp</a>&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="multi__sum_8hpp.html">ggl/multi/algorithms/detail/multi_sum.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a> {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00023"></a>00023 <span class="keyword">struct </span>centroid_multi_polygon
+<a name="l00024"></a>00024 {
+<a name="l00025"></a>00025 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(MultiPolygon <span class="keyword">const</span>&amp; multi, Point&amp; c, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;MultiPolygon&gt;::type iterator;
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">typename</span> Strategy::state_type state;
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keywordflow">for</span> (iterator it = boost::begin(multi); it != boost::end(multi); ++it)
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="comment">// TODO: make THIS the building block!</span>
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;MultiPolygon&gt;::type polygon_type;
+<a name="l00035"></a>00035 polygon_type <span class="keyword">const</span>&amp; poly = *it;
+<a name="l00036"></a>00036 <span class="keywordflow">if</span> (ring_ok(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), c))
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), strategy, state);
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00042"></a>00042 &lt;
+<a name="l00043"></a>00043 <span class="keyword">typename</span> interior_type&lt;polygon_type&gt;::type
+<a name="l00044"></a>00044 &gt;::type iterator_type;
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00047"></a>00047 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00048"></a>00048 ++it)
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(*it, strategy, state);
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054 state.centroid(c);
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056 };
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 }} <span class="comment">// namespace detail::centroid</span>
+<a name="l00061"></a>00061 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span>
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00069"></a>00069 <span class="keyword">struct </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>&lt;multi_polygon_tag, MultiPolygon, Point, Strategy&gt;
+<a name="l00070"></a>00070 : detail::<a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>::centroid_multi_polygon&lt;MultiPolygon, Point, Strategy&gt;
+<a name="l00071"></a>00071 {};
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 } <span class="comment">// namespace dispatch</span>
+<a name="l00075"></a>00075 <span class="preprocessor">#endif</span>
+<a name="l00076"></a>00076 <span class="preprocessor"></span>
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 } <span class="comment">// namespace ggl</span>
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_CENTROID_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/convex_hull.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,160 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/convex_hull.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_MULTI_ALGORITHMS_CONVEX_HULL_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_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 &lt;<a class="code" href="as__range_8hpp.html">ggl/util/as_range.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2is__multi_8hpp.html">ggl/multi/core/is_multi.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2point__type_8hpp.html">ggl/multi/core/point_type.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2convex__hull_8hpp.html">ggl/algorithms/convex_hull.hpp</a>&gt;</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="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" 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> &lt;<span class="keyword">typename</span> MultiGeometry, <span class="keyword">typename</span> OutputIterator&gt;
+<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>&amp; 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&lt;MultiGeometry&gt;::type point;
+<a name="l00038"></a>00038 <span class="keyword">typename</span> strategy_convex_hull
+<a name="l00039"></a>00039 &lt;
+<a name="l00040"></a>00040 <span class="keyword">typename</span> cs_tag&lt;point&gt;::type,
+<a name="l00041"></a>00041 point
+<a name="l00042"></a>00042 &gt;::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&lt;MultiGeometry&gt;::type iterator;
+<a name="l00045"></a>00045 <span class="keyword">typedef</span> <span class="keyword">typename</span> range_value&lt;MultiGeometry&gt;::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 &lt;<span class="keyword">typename</span> as_range_type&lt;single&gt;::type&gt;(*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="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="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 &lt;
+<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 &gt;
+<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>&lt;MultiTag, true, MultiGeometry, OutputIterator&gt;
+<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&lt;MultiGeometry, OutputIterator&gt;
+<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> &lt;<span class="keyword">typename</span> MultiPo<span class="keywordtype">int</span>, <span class="keyword">typename</span> OutputIterator&gt;
+<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>&lt;multi_point_tag, true, MultiPoint, OutputIterator&gt;
+<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&lt;MultiPoint, OutputIterator&gt;
+<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="l00093"></a>00093
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_CONVEX_HULL_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/correct.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 &nbsp;</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&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c7a970b235ee8d6d13e20f3db52e9f1d">ggl::correct</a> (multi_polygon&lt; Y, V, A &gt; &amp;mp)</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/correct.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_MULTI_CORRECT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_CORRECT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2correct_8hpp.html">ggl/algorithms/correct.hpp</a>&gt;</span>
+<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="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> &lt;<span class="keyword">typename</span> O&gt;
+<a name="l00030"></a>00030 <span class="keyword">inline</span> <span class="keywordtype">void</span> correct_multi_polygon(O&amp; 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>&lt;<span class="keyword">typename</span> Y,
+<a name="l00042"></a>00042 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A&gt;
+<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&lt;Y, V, A&gt;</a>&amp; 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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2distance_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2distance_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/distance.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2distance_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2distance_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,186 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/distance.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_MULTI_ALGORITHMS_DISTANCE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_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 &lt;boost/numeric/conversion/bounds.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2is__multi_8hpp.html">ggl/multi/core/is_multi.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2geometry__id_8hpp.html">ggl/multi/core/geometry_id.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2point__type_8hpp.html">ggl/multi/core/point_type.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2distance_8hpp.html">ggl/algorithms/distance.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a> {
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> MultiGeometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00032"></a>00032 <span class="keyword">struct </span>distance_single_to_multi
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type return_type;
+<a name="l00035"></a>00035 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00036"></a>00036 MultiGeometry <span class="keyword">const</span>&amp; multi,
+<a name="l00037"></a>00037 Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">using namespace </span>boost;
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 return_type mindist = make_distance_result&lt;return_type&gt;(
+<a name="l00042"></a>00042 numeric::bounds&lt;typename select_coordinate_type&lt;Geometry, MultiGeometry&gt;::type&gt;::highest());
+<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keyword">typename</span> range_const_iterator&lt;MultiGeometry&gt;::type iterator;
+<a name="l00044"></a>00044 <span class="keywordflow">for</span>(iterator it = begin(multi); it != end(multi); ++it)
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 return_type dist = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(geometry, *it);
+<a name="l00047"></a>00047 <span class="keywordflow">if</span> (dist &lt; mindist)
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 mindist = dist;
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keywordflow">return</span> mindist;
+<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>&lt;<span class="keyword">typename</span> Multi1, <span class="keyword">typename</span> Multi2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00058"></a>00058 <span class="keyword">struct </span>distance_multi_to_multi
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type return_type;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(Multi1 <span class="keyword">const</span>&amp; multi1,
+<a name="l00063"></a>00063 Multi2 <span class="keyword">const</span>&amp; multi2, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keyword">using namespace </span>boost;
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 return_type mindist
+<a name="l00068"></a>00068 = make_distance_result&lt;return_type&gt;(
+<a name="l00069"></a>00069 numeric::bounds&lt;<span class="keyword">typename</span> select_coordinate_type&lt;Multi1,
+<a name="l00070"></a>00070 Multi2&gt;::type&gt;::highest());
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keywordflow">for</span>(<span class="keyword">typename</span> range_const_iterator&lt;Multi1&gt;::type it = begin(multi1);
+<a name="l00073"></a>00073 it != end(multi1);
+<a name="l00074"></a>00074 ++it)
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 return_type dist = distance_single_to_multi
+<a name="l00077"></a>00077 &lt;
+<a name="l00078"></a>00078 <span class="keyword">typename</span> range_value&lt;Multi1&gt;::type,
+<a name="l00079"></a>00079 Multi2,
+<a name="l00080"></a>00080 Strategy
+<a name="l00081"></a>00081 &gt;::apply(*it, multi2, strategy);
+<a name="l00082"></a>00082 <span class="keywordflow">if</span> (dist &lt; mindist)
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 mindist = dist;
+<a name="l00085"></a>00085 }
+<a name="l00086"></a>00086 }
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="keywordflow">return</span> mindist;
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090 };
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 }} <span class="comment">// namespace detail::distance</span>
+<a name="l00094"></a>00094 <span class="preprocessor">#endif</span>
+<a name="l00095"></a>00095 <span class="preprocessor"></span>
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00098"></a>00098 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00102"></a>00102 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00103"></a>00103 <span class="keyword">struct </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>&lt;GeometryTag1, GeometryTag2, G1, G2, strategy_tag_distance_point_point, Strategy, false, true&gt;
+<a name="l00104"></a>00104 : detail::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::distance_single_to_multi&lt;G1, G2, Strategy&gt;
+<a name="l00105"></a>00105 {};
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00108"></a>00108 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00109"></a>00109 <span class="keyword">struct </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>&lt;GeometryTag1, GeometryTag2, G1, G2, strategy_tag_distance_point_point, Strategy, true, true&gt;
+<a name="l00110"></a>00110 : detail::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::distance_multi_to_multi&lt;G1, G2, Strategy&gt;
+<a name="l00111"></a>00111 {};
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 } <span class="comment">// namespace dispatch</span>
+<a name="l00114"></a>00114 <span class="preprocessor">#endif</span>
+<a name="l00115"></a>00115 <span class="preprocessor"></span>
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 } <span class="comment">// namespace ggl</span>
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/envelope.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,163 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/envelope.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_MULTI_ENVELOPE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ENVELOPE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2envelope_8hpp.html">ggl/algorithms/envelope.hpp</a>&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2point__type_8hpp.html">ggl/multi/core/point_type.hpp</a>&gt;</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 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a> {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> MultiLine<span class="keywordtype">string</span>, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00029"></a>00029 <span class="keyword">struct </span>envelope_multi_linestring
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(MultiLinestring <span class="keyword">const</span>&amp; mp, Box&amp; mbr, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keyword">typename</span> Strategy::state_type state(mbr);
+<a name="l00034"></a>00034 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;MultiLinestring&gt;::type
+<a name="l00035"></a>00035 it = mp.begin();
+<a name="l00036"></a>00036 it != mp.end();
+<a name="l00037"></a>00037 ++it)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 envelope_range_state(*it, strategy, state);
+<a name="l00040"></a>00040 }
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042 };
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="comment">// version for multi_polygon: outer linear_ring's of all polygons</span>
+<a name="l00046"></a>00046 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00047"></a>00047 <span class="keyword">struct </span>envelope_multi_polygon
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(MultiPolygon <span class="keyword">const</span>&amp; mp, Box&amp; mbr, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 <span class="keyword">typename</span> Strategy::state_type state(mbr);
+<a name="l00052"></a>00052 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;MultiPolygon&gt;::type
+<a name="l00053"></a>00053 it = mp.begin();
+<a name="l00054"></a>00054 it != mp.end();
+<a name="l00055"></a>00055 ++it)
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 envelope_range_state(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*it), strategy, state);
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060 };
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 }} <span class="comment">// namespace detail::envelope</span>
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="preprocessor">#endif</span>
+<a name="l00066"></a>00066 <span class="preprocessor"></span>
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> M, <span class="keyword">typename</span> B, <span class="keyword">typename</span> S&gt;
+<a name="l00073"></a>00073 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>&lt;multi_point_tag, box_tag, M, B, S&gt;
+<a name="l00074"></a>00074 : detail::<a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_range&lt;M, B, S&gt;
+<a name="l00075"></a>00075 {};
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> M, <span class="keyword">typename</span> B, <span class="keyword">typename</span> S&gt;
+<a name="l00078"></a>00078 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>&lt;multi_linestring_tag, box_tag, M, B, S&gt;
+<a name="l00079"></a>00079 : detail::<a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_multi_linestring&lt;M, B, S&gt;
+<a name="l00080"></a>00080 {};
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> M, <span class="keyword">typename</span> B, <span class="keyword">typename</span> S&gt;
+<a name="l00084"></a>00084 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>&lt;multi_polygon_tag, box_tag, M, B, S&gt;
+<a name="l00085"></a>00085 : detail::<a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_multi_polygon&lt;M, B, S&gt;
+<a name="l00086"></a>00086 {};
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 } <span class="comment">// namespace dispatch</span>
+<a name="l00090"></a>00090 <span class="preprocessor">#endif</span>
+<a name="l00091"></a>00091 <span class="preprocessor"></span>
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 } <span class="comment">// namespace ggl</span>
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="preprocessor">#endif // GGL_MULTI_ENVELOPE_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/get_section.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/get_section.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_MULTI_ALGORITHMS_GET_SECTION_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_GET_SECTION_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2get__section_8hpp.html">ggl/algorithms/get_section.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<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
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Section&gt;
+<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>&lt;multi_polygon_tag, MultiPolygon, Section&gt;
+<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&lt;MultiPolygon&gt;::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>&amp; multi_polygon, Section <span class="keyword">const</span>&amp; section,
+<a name="l00038"></a>00038 iterator_type&amp; begin, iterator_type&amp; end)
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 BOOST_ASSERT(section.multi_index &gt;= 0 &amp;&amp; section.multi_index &lt; boost::size(multi_polygon));
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 get_section&lt;polygon_tag, typename boost::range_value&lt;MultiPolygon&gt;::type, Section&gt;
+<a name="l00043"></a>00043 ::apply(multi_polygon[section.multi_index], section, begin, end);
+<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
+<a name="l00049"></a>00049 } <span class="comment">// namespace dispatch</span>
+<a name="l00050"></a>00050 <span class="preprocessor">#endif</span>
+<a name="l00051"></a>00051 <span class="preprocessor"></span>
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 } <span class="comment">// namespace ggl</span>
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_GET_SECTION_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2intersection_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2intersection_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/intersection.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2intersection_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2intersection_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/algorithms/intersection.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_MULTI_ALGORITHMS_INTERSECTION_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_INTERSECTION_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2intersection_8hpp.html">ggl/algorithms/intersection.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
+<a name="l00017"></a>00017 {
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#ifndef DOXYGEN_NO_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
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">template</span>
+<a name="l00025"></a>00025 &lt;
+<a name="l00026"></a>00026 <span class="keyword">typename</span> MultiPolygon1, <span class="keyword">typename</span> MultiPolygon2,
+<a name="l00027"></a>00027 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00028"></a>00028 &gt;
+<a name="l00029"></a>00029 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00030"></a>00030 &lt;
+<a name="l00031"></a>00031 multi_polygon_tag, multi_polygon_tag, polygon_tag,
+<a name="l00032"></a>00032 MultiPolygon1, MultiPolygon2,
+<a name="l00033"></a>00033 OutputIterator, GeometryOut
+<a name="l00034"></a>00034 &gt;
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 <span class="comment">// todo: implement this</span>
+<a name="l00037"></a>00037 };
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 } <span class="comment">// namespace ggl</span>
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_INTERSECTION_HPP</span>
+<a name="l00043"></a>00043 <span class="preprocessor"></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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2length_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2length_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/length.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2length_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2length_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,97 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/length.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_MULTI_LENGTH_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_LENGTH_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2length_8hpp.html">ggl/algorithms/length.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="multi__sum_8hpp.html">ggl/multi/algorithms/detail/multi_sum.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="keyword">namespace </span>ggl
+<a name="l00016"></a>00016 {
+<a name="l00017"></a>00017 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00019"></a>00019 {
+<a name="l00020"></a>00020 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MG, <span class="keyword">typename</span> S&gt;
+<a name="l00021"></a>00021 <span class="keyword">struct </span><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>&lt;multi_linestring_tag, MG, S&gt;
+<a name="l00022"></a>00022 : detail::multi_sum&lt;double, MG, S,
+<a name="l00023"></a>00023 detail::length::range_length&lt;typename boost::range_value&lt;MG&gt;::type, S&gt; &gt; {};
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 } <span class="comment">// namespace dispatch</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#endif</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 } <span class="comment">// namespace ggl</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="preprocessor">#endif // GGL_MULTI_LENGTH_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2num__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2num__points_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/num_points.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2num__points_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2num__points_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,143 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/num_points.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_ALGORITHMS_NUM_POINTS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_NUM_POINTS_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 &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2num__points_8hpp.html">ggl/algorithms/num_points.hpp</a>&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl
+<a name="l00019"></a>00019 {
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a> {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiGeometry&gt;
+<a name="l00026"></a>00026 <span class="keyword">struct </span>multi_count
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">size_t</span> apply(MultiGeometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;MultiGeometry&gt;::type geometry_type;
+<a name="l00031"></a>00031 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;geometry_type&gt;::type ncg;
+<a name="l00032"></a>00032 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00033"></a>00033 &lt;
+<a name="l00034"></a>00034 MultiGeometry
+<a name="l00035"></a>00035 &gt;::type iterator_type;
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keywordtype">size_t</span> n = 0;
+<a name="l00038"></a>00038 <span class="keywordflow">for</span> (iterator_type it = boost::begin(geometry);
+<a name="l00039"></a>00039 it != boost::end(geometry);
+<a name="l00040"></a>00040 ++it)
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 n += dispatch::num_points&lt;typename tag&lt;ncg&gt;::type,
+<a name="l00043"></a>00043 <a class="code" href="structggl_1_1is__linear.html" title="Meta-function defining &amp;quot;true&amp;quot; for linear types (linestring,ring), &amp;quot;false&amp;quot;...">ggl::is_linear&lt;ncg&gt;::value</a>, ncg&gt;::apply(*it);
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 <span class="keywordflow">return</span> n;
+<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 detail::num_points</span>
+<a name="l00051"></a>00051 <span class="preprocessor">#endif</span>
+<a name="l00052"></a>00052 <span class="preprocessor"></span>
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00059"></a>00059 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;multi_point_tag, false, Geometry&gt;
+<a name="l00060"></a>00060 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::multi_count&lt;Geometry&gt; {};
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00063"></a>00063 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;multi_linestring_tag, false, Geometry&gt;
+<a name="l00064"></a>00064 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::multi_count&lt;Geometry&gt; {};
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00067"></a>00067 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>&lt;multi_polygon_tag, false, Geometry&gt;
+<a name="l00068"></a>00068 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::multi_count&lt;Geometry&gt; {};
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 } <span class="comment">// namespace dispatch</span>
+<a name="l00072"></a>00072 <span class="preprocessor">#endif</span>
+<a name="l00073"></a>00073 <span class="preprocessor"></span>
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 }
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_NUM_POINTS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/perimeter.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,98 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/perimeter.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_MULTI_PERIMETER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_PERIMETER_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2perimeter_8hpp.html">ggl/algorithms/perimeter.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="multi__sum_8hpp.html">ggl/multi/algorithms/detail/multi_sum.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="keyword">namespace </span>ggl
+<a name="l00016"></a>00016 {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00020"></a>00020 {
+<a name="l00021"></a>00021 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MG, <span class="keyword">typename</span> S&gt;
+<a name="l00022"></a>00022 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>&lt;multi_polygon_tag, MG, S&gt;
+<a name="l00023"></a>00023 : detail::multi_sum&lt;double, MG, S,
+<a name="l00024"></a>00024 detail::perimeter::polygon_perimeter&lt;typename boost::range_value&lt;MG&gt;::type, S&gt; &gt; {};
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 } <span class="comment">// namespace dispatch</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#endif</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 } <span class="comment">// namespace ggl</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#endif // GGL_MULTI_PERIMETER_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2sectionalize_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2sectionalize_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/sectionalize.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2sectionalize_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2sectionalize_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,151 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/sectionalize.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_MULTI_ALGORITHMS_SECTIONALIZE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_SECTIONALIZE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2sectionalize_8hpp.html">ggl/algorithms/sectionalize.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>ggl
+<a name="l00024"></a>00024 {
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a> {
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiGeometry, <span class="keyword">typename</span> Sections, std::<span class="keywordtype">size_t</span> DimensionCount, <span class="keyword">typename</span> Policy&gt;
+<a name="l00032"></a>00032 <span class="keyword">struct </span>sectionalize_multi
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(MultiGeometry <span class="keyword">const</span>&amp; multi, Sections&amp; sections)
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 <span class="keywordtype">int</span> multi_index = 0;
+<a name="l00037"></a>00037 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;MultiGeometry&gt;::type
+<a name="l00038"></a>00038 it = boost::begin(multi);
+<a name="l00039"></a>00039 it != boost::end(multi);
+<a name="l00040"></a>00040 ++it, ++multi_index)
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 Policy::apply(*it, sections, multi_index);
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 }} <span class="comment">// namespace detail::sectionalize</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="l00054"></a>00054 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Sections, std::<span class="keywordtype">size_t</span> DimensionCount, std::<span class="keywordtype">size_t</span> MaxCount&gt;
+<a name="l00060"></a>00060 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>&lt;multi_polygon_tag, MultiPolygon, Sections, DimensionCount, MaxCount&gt;
+<a name="l00061"></a>00061 : detail::<a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>::sectionalize_multi
+<a name="l00062"></a>00062 &lt;
+<a name="l00063"></a>00063 MultiPolygon,
+<a name="l00064"></a>00064 Sections,
+<a name="l00065"></a>00065 DimensionCount,
+<a name="l00066"></a>00066 detail::sectionalize::sectionalize_polygon
+<a name="l00067"></a>00067 &lt;
+<a name="l00068"></a>00068 typename boost::range_value&lt;MultiPolygon&gt;::type,
+<a name="l00069"></a>00069 Sections,
+<a name="l00070"></a>00070 DimensionCount,
+<a name="l00071"></a>00071 MaxCount
+<a name="l00072"></a>00072 &gt;
+<a name="l00073"></a>00073 &gt;
+<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="comment">// namespace dispatch</span>
+<a name="l00079"></a>00079 <span class="preprocessor">#endif</span>
+<a name="l00080"></a>00080 <span class="preprocessor"></span>
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 } <span class="comment">// namespace ggl</span>
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_SECTIONALIZE_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/simplify.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 &nbsp;</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&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c140b663db67a986468754276b6b97a1">ggl::simplify</a> (const multi_polygon&lt; Y, V, A &gt; &amp;mp_in, multi_polygon&lt; Y, V, A &gt; &amp;mp_out, double max_distance)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#1463cc489eb6db3a3739f9767f9d8c00">ggl::simplify</a> (const multi_linestring&lt; L, V, A &gt; &amp;ml_in, multi_linestring&lt; L, V, A &gt; &amp;ml_out, double max_distance)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#d6ac58fa58247aa420c6114932046ff5">ggl::simplify_multi_linestring</a> (const ML &amp;ml_in, ML &amp;ml_out, double max_distance)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#d17c1744a4d19447b5d976f7bf95930a">ggl::simplify_multi_polygon</a> (const MY &amp;mp_in, MY &amp;mp_out, double max_distance)</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,134 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/simplify.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_MULTI_SIMPLIFY_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_SIMPLIFY_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2simplify_8hpp.html">ggl/algorithms/simplify.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 FIX ME it is not yet adapted to tag-dispatching
+<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="keyword">template</span>&lt;<span class="keyword">typename</span> ML&gt;
+<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&amp; ml_in, ML&amp; 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>&lt;<span class="keyword">typename</span> MY&gt;
+<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&amp; mp_in, MY&amp; 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="l00045"></a>00045 }
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> L,
+<a name="l00050"></a>00050 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A&gt;
+<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&lt;L, V, A&gt;</a>&amp; ml_in,
+<a name="l00052"></a>00052 <a class="code" href="structggl_1_1multi__linestring.html">multi_linestring&lt;L, V, A&gt;</a>&amp; 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="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Y,
+<a name="l00058"></a>00058 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>,<span class="keyword">typename</span>&gt; <span class="keyword">class </span>V, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A&gt;
+<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&lt;Y, V, A&gt;</a>&amp; mp_in,
+<a name="l00060"></a>00060 <a class="code" href="structggl_1_1multi__polygon.html">multi_polygon&lt;Y, V, A&gt;</a>&amp; 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="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="preprocessor">#endif // GGL_MULTI_SIMPLIFY_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2transform_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2transform_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/transform.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2transform_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2transform_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,149 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/transform.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_MULTI_ALGORITHMS_TRANSFORM_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_TRANSFORM_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2transform_8hpp.html">ggl/algorithms/transform.hpp</a>&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
+<a name="l00020"></a>00020 {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a> {
+<a name="l00024"></a>00024
+<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Multi1, <span class="keyword">typename</span> Multi2, <span class="keyword">typename</span> Policy&gt;
+<a name="l00029"></a>00029 <span class="keyword">struct </span>transform_multi
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00032"></a>00032 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Multi1 <span class="keyword">const</span>&amp; multi1, Multi2&amp; multi2, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 multi2.resize(boost::size(multi1));
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">typename</span> boost::range_const_iterator&lt;Multi1&gt;::type it1
+<a name="l00037"></a>00037 = boost::begin(multi1);
+<a name="l00038"></a>00038 <span class="keyword">typename</span> boost::range_iterator&lt;Multi2&gt;::type it2
+<a name="l00039"></a>00039 = boost::begin(multi2);
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keywordflow">for</span> (; it1 != boost::end(multi1); ++it1, ++it2)
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keywordflow">if</span> (! Policy::apply(*it1, *it2, strategy))
+<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 }
+<a name="l00047"></a>00047 }
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051 };
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 }} <span class="comment">// namespace detail::transform</span>
+<a name="l00057"></a>00057 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span>
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Multi1, <span class="keyword">typename</span> Multi2&gt;
+<a name="l00066"></a>00066 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>&lt;multi_polygon_tag, multi_polygon_tag, Multi1, Multi2&gt;
+<a name="l00067"></a>00067 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_multi
+<a name="l00068"></a>00068 &lt;
+<a name="l00069"></a>00069 Multi1,
+<a name="l00070"></a>00070 Multi2,
+<a name="l00071"></a>00071 detail::transform::transform_polygon
+<a name="l00072"></a>00072 &lt;
+<a name="l00073"></a>00073 typename boost::range_value&lt;Multi1&gt;::type,
+<a name="l00074"></a>00074 typename boost::range_value&lt;Multi2&gt;::type
+<a name="l00075"></a>00075 &gt;
+<a name="l00076"></a>00076 &gt;
+<a name="l00077"></a>00077 {};
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 } <span class="comment">// namespace dispatch</span>
+<a name="l00082"></a>00082 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00083"></a>00083 <span class="preprocessor"></span>
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 } <span class="comment">// namespace ggl</span>
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_TRANSFORM_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/within.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,169 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/within.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_MULTI_ALGORITHMS_WITHIN_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_WITHIN_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="keyword">namespace </span>ggl
+<a name="l00018"></a>00018 {
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a> {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> I, <span class="keyword">typename</span> S&gt;
+<a name="l00025"></a>00025 <span class="keyword">inline</span> <span class="keywordtype">bool</span> point_in_multi_polygon(<span class="keyword">const</span> P&amp; p, <span class="keyword">const</span> I&amp; m, <span class="keyword">const</span> S&amp; strategy)
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027 <span class="keywordflow">for</span> (<span class="keyword">typename</span> I::const_iterator i = m.begin(); i != m.end(); i++)
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029 <span class="comment">// Point within a multi-polygon: true if within one of the polygons</span>
+<a name="l00030"></a>00030 <span class="keywordflow">if</span> (point_in_polygon(p, *i, strategy))
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00033"></a>00033 }
+<a name="l00034"></a>00034 }
+<a name="l00035"></a>00035 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> I, <span class="keyword">typename</span> C&gt;
+<a name="l00040"></a>00040 <span class="keyword">inline</span> <span class="keywordtype">bool</span> multi_polygon_in_circle(<span class="keyword">const</span> I&amp; m, <span class="keyword">const</span> C&amp; c)
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keywordflow">for</span> (<span class="keyword">typename</span> I::const_iterator i = m.begin(); i != m.end(); i++)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keywordflow">if</span> (! polygon_in_circle(*i, c))
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00047"></a>00047 }
+<a name="l00048"></a>00048 }
+<a name="l00049"></a>00049 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 }} <span class="comment">// namespace detail::within</span>
+<a name="l00053"></a>00053 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00054"></a>00054 <span class="preprocessor"></span>
+<a name="l00055"></a>00055 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="comment">/*</span>
+<a name="l00060"></a>00060 <span class="comment">template &lt;typename M, typename B&gt;</span>
+<a name="l00061"></a>00061 <span class="comment">struct within&lt;multi_polygon_tag, box_tag, M, B&gt;</span>
+<a name="l00062"></a>00062 <span class="comment">{</span>
+<a name="l00063"></a>00063 <span class="comment"> static inline bool apply(const M&amp; m, const B&amp; b)</span>
+<a name="l00064"></a>00064 <span class="comment"> {</span>
+<a name="l00065"></a>00065 <span class="comment"> return detail::within::multi_polygon_in_box(m, b);</span>
+<a name="l00066"></a>00066 <span class="comment"> }</span>
+<a name="l00067"></a>00067 <span class="comment">};</span>
+<a name="l00068"></a>00068 <span class="comment">*/</span>
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> M, <span class="keyword">typename</span> C&gt;
+<a name="l00071"></a>00071 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>&lt;multi_polygon_tag, nsphere_tag, M, C&gt;
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> M&amp; m, <span class="keyword">const</span> C&amp; c)
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="keywordflow">return</span> detail::within::multi_polygon_in_circle(m, c);
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077 };
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> M&gt;
+<a name="l00080"></a>00080 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>&lt;point_tag, multi_polygon_tag, P, M&gt;
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00083"></a>00083 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> P&amp; p, <span class="keyword">const</span> M&amp; m, <span class="keyword">const</span> S&amp; strategy)
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="keywordflow">return</span> detail::within::point_in_multi_polygon(p, m, strategy);
+<a name="l00086"></a>00086 }
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> P&amp; p, <span class="keyword">const</span> M&amp; m)
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;M&gt;::type PM;
+<a name="l00091"></a>00091 <span class="keyword">typename</span> strategy_within&lt;
+<a name="l00092"></a>00092 <span class="keyword">typename</span> cs_tag&lt;P&gt;::type, <span class="keyword">typename</span> cs_tag&lt;PM&gt;::type, P, PM
+<a name="l00093"></a>00093 &gt;::type strategy;
+<a name="l00094"></a>00094 <span class="keywordflow">return</span> apply(p, m, strategy);
+<a name="l00095"></a>00095 }
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 };
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 } <span class="comment">// namespace dispatch</span>
+<a name="l00100"></a>00100 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00101"></a>00101 <span class="preprocessor"></span>
+<a name="l00102"></a>00102 } <span class="comment">// namespace ggl</span>
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_WITHIN_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2geometry__id_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2geometry__id_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/core/geometry_id.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2geometry__id_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2geometry__id_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/core/geometry_id.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_CORE_GEOMETRY_ID_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_CORE_GEOMETRY_ID_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 &lt;boost/mpl/int.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="core_2geometry__id_8hpp.html">ggl/core/geometry_id.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>ggl {
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;&gt;
+<a name="l00032"></a>00032 <span class="keyword">struct </span>geometry_id&lt;multi_point_tag&gt; : boost::mpl::int_&lt;4&gt; {};
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;&gt;
+<a name="l00036"></a>00036 <span class="keyword">struct </span>geometry_id&lt;multi_linestring_tag&gt; : boost::mpl::int_&lt;5&gt; {};
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;&gt;
+<a name="l00040"></a>00040 <span class="keyword">struct </span>geometry_id&lt;multi_polygon_tag&gt; : boost::mpl::int_&lt;6&gt; {};
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 } <span class="comment">// namespace core_dispatch</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
+<a name="l00048"></a>00048 } <span class="comment">// namespace ggl</span>
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="preprocessor">#endif // GGL_MULTI_CORE_GEOMETRY_ID_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2is__multi_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2is__multi_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/core/is_multi.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2is__multi_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2is__multi_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/core/is_multi.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_CORE_IS_MULTI_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_CORE_IS_MULTI_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 &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;&gt;
+<a name="l00029"></a>00029 <span class="keyword">struct </span>is_multi&lt;multi_point_tag&gt; : boost::true_type {};
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;&gt;
+<a name="l00033"></a>00033 <span class="keyword">struct </span>is_multi&lt;multi_linestring_tag&gt; : boost::true_type {};
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;&gt;
+<a name="l00037"></a>00037 <span class="keyword">struct </span>is_multi&lt;multi_polygon_tag&gt; : boost::true_type {};
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00041"></a>00041 <span class="preprocessor">#endif</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span>
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 } <span class="comment">// namespace ggl</span>
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="preprocessor">#endif // GGL_MULTI_CORE_IS_MULTI_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2point__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2point__type_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/core/point_type.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2point__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2point__type_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/core/point_type.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_MULTI_CORE_POINT_TYPE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_CORE_POINT_TYPE_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 &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<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 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiPo<span class="keywordtype">int</span>&gt;
+<a name="l00029"></a>00029 <span class="keyword">struct </span>point_type&lt;multi_point_tag, MultiPoint&gt;
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;MultiPoint&gt;::type type;
+<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> &lt;<span class="keyword">typename</span> MultiLine<span class="keywordtype">string</span>&gt;
+<a name="l00036"></a>00036 <span class="keyword">struct </span>point_type&lt;multi_linestring_tag, MultiLinestring&gt;
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;linestring_tag,
+<a name="l00039"></a>00039 <span class="keyword">typename</span> boost::range_value&lt;MultiLinestring&gt;::type&gt;::type type;
+<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="keyword">template</span> &lt;<span class="keyword">typename</span> MultiPolygon&gt;
+<a name="l00045"></a>00045 <span class="keyword">struct </span>point_type&lt;multi_polygon_tag, MultiPolygon&gt;
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;polygon_tag,
+<a name="l00048"></a>00048 <span class="keyword">typename</span> boost::range_value&lt;MultiPolygon&gt;::type&gt;::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 }
+<a name="l00055"></a>00055 <span class="preprocessor">#endif</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span>
+<a name="l00057"></a>00057 } <span class="comment">// namespace ggl</span>
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="preprocessor">#endif // GGL_MULTI_CORE_POINT_TYPE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2ring__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2ring__type_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/core/ring_type.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2ring__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2ring__type_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/core/ring_type.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 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_CORE_RING_TYPE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_CORE_RING_TYPE_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 &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiPolygon&gt;
+<a name="l00030"></a>00030 <span class="keyword">struct </span>ring_type&lt;multi_polygon_tag, MultiPolygon&gt;
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type</a>
+<a name="l00033"></a>00033 &lt;
+<a name="l00034"></a>00034 <span class="keyword">typename</span> boost::range_value&lt;MultiPolygon&gt;::type
+<a name="l00035"></a>00035 &gt;::type type;
+<a name="l00036"></a>00036 };
+<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 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00042"></a>00042 <span class="preprocessor">#endif</span>
+<a name="l00043"></a>00043 <span class="preprocessor"></span>
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 } <span class="comment">// namespace ggl</span>
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="preprocessor">#endif // GGL_MULTI_CORE_RING_TYPE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/core/tags.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1geometry__collection__tag.html">ggl::geometry_collection_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OGC Geometry Collection identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__linestring__tag.html">ggl::multi_linestring_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OGC Multi <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> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__point__tag.html">ggl::multi_point_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OGC Multi <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__polygon__tag.html">ggl::multi_polygon_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OGC Multi <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,91 @@
+<!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">
+&nbsp;&nbsp;
+</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/core/tags.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_CORE_TAGS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_CORE_TAGS_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013 <span class="keyword">namespace </span>ggl
+<a name="l00014"></a>00014 {
+<a name="l00015"></a>00015
+<a name="l00017"></a><a class="code" href="structggl_1_1multi__point__tag.html">00017</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__point__tag.html" title="OGC Multi point identifying tag.">multi_point_tag</a> {};
+<a name="l00018"></a>00018
+<a name="l00020"></a><a class="code" href="structggl_1_1multi__linestring__tag.html">00020</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__linestring__tag.html" title="OGC Multi linestring identifying tag.">multi_linestring_tag</a> {};
+<a name="l00021"></a>00021
+<a name="l00023"></a><a class="code" href="structggl_1_1multi__polygon__tag.html">00023</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__polygon__tag.html" title="OGC Multi polygon identifying tag.">multi_polygon_tag</a> {};
+<a name="l00024"></a>00024
+<a name="l00026"></a><a class="code" href="structggl_1_1geometry__collection__tag.html">00026</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1geometry__collection__tag.html" title="OGC Geometry Collection identifying tag.">geometry_collection_tag</a> {};
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 } <span class="comment">// namespace ggl</span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="preprocessor">#endif // GGL_MULTI_CORE_TAGS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2topological__dimension_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2topological__dimension_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/core/topological_dimension.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2topological__dimension_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2topological__dimension_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/core/topological_dimension.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_TOPOLOGICAL_DIMENSION_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_TOPOLOGICAL_DIMENSION_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 &lt;boost/mpl/int.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="core_2topological__dimension_8hpp.html">ggl/core/topological_dimension.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;&gt;
+<a name="l00028"></a>00028 <span class="keyword">struct </span>top_dim&lt;multi_point_tag&gt; : boost::mpl::int_&lt;0&gt; {};
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;&gt;
+<a name="l00032"></a>00032 <span class="keyword">struct </span>top_dim&lt;multi_linestring_tag&gt; : boost::mpl::int_&lt;1&gt; {};
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;&gt;
+<a name="l00036"></a>00036 <span class="keyword">struct </span>top_dim&lt;multi_polygon_tag&gt; : boost::mpl::int_&lt;2&gt; {};
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00040"></a>00040 <span class="preprocessor">#endif</span>
+<a name="l00041"></a>00041 <span class="preprocessor"></span>
+<a name="l00042"></a>00042 } <span class="comment">// namespace ggl</span>
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="preprocessor">#endif</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2point__const__iterator_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2point__const__iterator_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2point__const__iterator_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2point__const__iterator_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="iterators_2point__const__iterator_8hpp.html">ggl/iterators/point_const_iterator.hpp</a>&gt;</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> &lt;<span class="keyword">typename</span> MultiPolygon&gt;
+<a name="l00030"></a>00030 <span class="keyword">struct </span>point_const_iterator&lt;multi_polygon_tag, MultiPolygon&gt;
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;MultiPolygon&gt;::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 &lt;
+<a name="l00035"></a>00035 <span class="keyword">typename</span> ring_type&lt;polygon_type&gt;::type
+<a name="l00036"></a>00036 &gt;::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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,78 @@
+<!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">
+&nbsp;&nbsp;
+</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/geometries/multi_linestring.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__linestring.html">ggl::multi_linestring&lt; L, V, A &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/geometries/multi_linestring.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_MULTI_LINESTRING_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_LINESTRING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;memory&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="linestring__concept_8hpp.html">ggl/core/concepts/linestring_concept.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</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="l00021"></a>00021 <span class="comment">// Class: multi_line</span>
+<a name="l00022"></a>00022 <span class="comment">// Purpose: groups lines belonging to each other, e.g. a broken highway</span>
+<a name="l00023"></a>00023 <span class="keyword">template</span>
+<a name="l00024"></a>00024 &lt;
+<a name="l00025"></a>00025 <span class="keyword">typename</span> L,
+<a name="l00026"></a>00026 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>V = std::vector,
+<a name="l00027"></a>00027 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A = std::allocator
+<a name="l00028"></a>00028 &gt;
+<a name="l00029"></a><a class="code" href="structggl_1_1multi__linestring.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__linestring.html">multi_linestring</a> : <span class="keyword">public</span> V&lt;L, A&lt;L&gt; &gt;
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <a class="code" href="structggl_1_1multi__linestring.html#ad0eb4fd23482608a67e61f460615d17">BOOST_CONCEPT_ASSERT</a>( (<a class="code" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">concept::Linestring&lt;L&gt;</a>) );
+<a name="l00032"></a>00032 };
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">template</span>
+<a name="l00039"></a>00039 &lt;
+<a name="l00040"></a>00040 <span class="keyword">typename</span> L,
+<a name="l00041"></a>00041 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>V,
+<a name="l00042"></a>00042 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A
+<a name="l00043"></a>00043 &gt;
+<a name="l00044"></a>00044 <span class="keyword">struct </span><a class="code" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>&lt; <a class="code" href="structggl_1_1multi__linestring.html">multi_linestring</a>&lt;L, V, A&gt; &gt;
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1multi__linestring__tag.html" title="OGC Multi linestring identifying tag.">multi_linestring_tag</a> <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00047"></a>00047 };
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 } <span class="comment">// namespace traits</span>
+<a name="l00050"></a>00050 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00051"></a>00051 <span class="preprocessor"></span>
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 } <span class="comment">// namespace ggl</span>
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="preprocessor">#endif // GGL_MULTI_LINESTRING_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__point_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__point_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,78 @@
+<!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">
+&nbsp;&nbsp;
+</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/geometries/multi_point.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__point.html">ggl::multi_point&lt; P, V, A &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__point_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__point_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/geometries/multi_point.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_MULTI_GEOMETRIES_MULTI_POINT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_GEOMETRIES_MULTI_POINT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;memory&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</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="l00021"></a>00021 <span class="comment">// Class: multi_point</span>
+<a name="l00022"></a>00022 <span class="comment">// Purpose: groups points belonging to each other, e.g. a constellation</span>
+<a name="l00023"></a>00023 <span class="keyword">template</span>
+<a name="l00024"></a>00024 &lt;
+<a name="l00025"></a>00025 <span class="keyword">typename</span> P,
+<a name="l00026"></a>00026 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>V = std::vector,
+<a name="l00027"></a>00027 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A = std::allocator
+<a name="l00028"></a>00028 &gt;
+<a name="l00029"></a><a class="code" href="structggl_1_1multi__point.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__point.html">multi_point</a> : <span class="keyword">public</span> V&lt;P, A&lt;P&gt; &gt;
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <a class="code" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">BOOST_CONCEPT_ASSERT</a>( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;P&gt;</a>) );
+<a name="l00032"></a>00032 };
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">template</span>
+<a name="l00039"></a>00039 &lt;
+<a name="l00040"></a>00040 <span class="keyword">typename</span> P,
+<a name="l00041"></a>00041 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>V,
+<a name="l00042"></a>00042 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A
+<a name="l00043"></a>00043 &gt;
+<a name="l00044"></a>00044 <span class="keyword">struct </span><a class="code" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>&lt; <a class="code" href="structggl_1_1multi__point.html">multi_point</a>&lt;P, V, A&gt; &gt;
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1multi__point__tag.html" title="OGC Multi point identifying tag.">multi_point_tag</a> <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00047"></a>00047 };
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 } <span class="comment">// namespace traits</span>
+<a name="l00050"></a>00050 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00051"></a>00051 <span class="preprocessor"></span>
+<a name="l00052"></a>00052 } <span class="comment">// namespace ggl</span>
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="preprocessor">#endif // GGL_MULTI_GEOMETRIES_MULTI_POINT_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,78 @@
+<!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">
+&nbsp;&nbsp;
+</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/geometries/multi_polygon.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__polygon.html">ggl::multi_polygon&lt; P, V, A &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/geometries/multi_polygon.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_MULTI_GEOMETRIES_MULTI_POLYGON_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_GEOMETRIES_MULTI_POLYGON_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;memory&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="polygon__concept_8hpp.html">ggl/core/concepts/polygon_concept.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
+<a name="l00020"></a>00020 {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="comment">// Class: multi_polygon</span>
+<a name="l00023"></a>00023 <span class="comment">// Purpose: groups polygons belonging to each other, e.g. Hawaii</span>
+<a name="l00024"></a>00024 <span class="keyword">template</span>
+<a name="l00025"></a>00025 &lt;
+<a name="l00026"></a>00026 <span class="keyword">typename</span> P,
+<a name="l00027"></a>00027 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>V = std::vector,
+<a name="l00028"></a>00028 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A = std::allocator
+<a name="l00029"></a>00029 &gt;
+<a name="l00030"></a><a class="code" href="structggl_1_1multi__polygon.html">00030</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__polygon.html">multi_polygon</a> : <span class="keyword">public</span> V&lt;P, A&lt;P&gt; &gt;
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <a class="code" href="structggl_1_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">BOOST_CONCEPT_ASSERT</a>( (<a class="code" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">concept::Polygon&lt;P&gt;</a>) );
+<a name="l00033"></a>00033 };
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">template</span>
+<a name="l00040"></a>00040 &lt;
+<a name="l00041"></a>00041 <span class="keyword">typename</span> P,
+<a name="l00042"></a>00042 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>V,
+<a name="l00043"></a>00043 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>A
+<a name="l00044"></a>00044 &gt;
+<a name="l00045"></a>00045 <span class="keyword">struct </span><a class="code" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>&lt; <a class="code" href="structggl_1_1multi__polygon.html">multi_polygon</a>&lt;P, V, A&gt; &gt;
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1multi__polygon__tag.html" title="OGC Multi polygon identifying tag.">multi_polygon_tag</a> <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00048"></a>00048 };
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 } <span class="comment">// namespace traits</span>
+<a name="l00051"></a>00051 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00052"></a>00052 <span class="preprocessor"></span>
+<a name="l00053"></a>00053 } <span class="comment">// namespace ggl</span>
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="preprocessor">#endif // GGL_MULTI_GEOMETRIES_MULTI_POLYGON_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__sum_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__sum_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/detail/multi_sum.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__sum_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__sum_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/detail/multi_sum.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_MULTI_SUM_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_SUM_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="keyword">namespace </span>ggl
+<a name="l00016"></a>00016 {
+<a name="l00017"></a>00017 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00019"></a>00019 {
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">template</span>
+<a name="l00022"></a>00022 &lt;
+<a name="l00023"></a>00023 <span class="keyword">typename</span> T,
+<a name="l00024"></a>00024 <span class="keyword">typename</span> MultiGeometry,
+<a name="l00025"></a>00025 <span class="keyword">typename</span> Strategy,
+<a name="l00026"></a>00026 <span class="keyword">typename</span> Policy
+<a name="l00027"></a>00027 &gt;
+<a name="l00028"></a>00028 <span class="keyword">struct </span>multi_sum
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">static</span> <span class="keyword">inline</span> T apply(MultiGeometry <span class="keyword">const</span>&amp; geometry, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00033"></a>00033 &lt;
+<a name="l00034"></a>00034 MultiGeometry
+<a name="l00035"></a>00035 &gt;::type iterator_type;
+<a name="l00036"></a>00036 T sum = T();
+<a name="l00037"></a>00037 <span class="keywordflow">for</span> (iterator_type it = boost::begin(geometry);
+<a name="l00038"></a>00038 it != boost::end(geometry);
+<a name="l00039"></a>00039 ++it)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 sum += Policy::apply(*it, strategy);
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043 <span class="keywordflow">return</span> sum;
+<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</span>
+<a name="l00049"></a>00049 <span class="preprocessor">#endif</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span>
+<a name="l00051"></a>00051 } <span class="comment">// namespace ggl</span>
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="preprocessor">#endif // GGL_MULTI_SUM_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,2399 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">traits</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1cs.html">cs</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1concept.html">concept</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1policies.html">policies</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html">math</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1area__result.html">area_result</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1as__range__type.html">as_range_type</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function utility returning either type itself, or outer ring. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html">box</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>: defines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> made of two describing points. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1box__tag.html">box_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience 2D or 3D <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> (mbr) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encapsulate the results of distance calculation. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cartesian__tag.html">cartesian_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tag indicating Cartesian coordinate system family (cartesian,epsg). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1centroid__exception.html">centroid_exception</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1circular__iterator.html">circular_iterator</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator which goes circular through a range, starting at a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, ending at that <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1coordinate__system.html">coordinate_system</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function which defines coordinate system for any geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function which defines coordinate type (int, float, double, etc) of any geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs__tag.html">cs_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function returning coordinate system <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> (<a class="el" href="namespaceggl_1_1cs.html">cs</a> family) of any geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html">de9im</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dimensionally Extended 9 Intersection Matrix. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im__segment.html">de9im_segment</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1degree.html">degree</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unit of plan angles: degrees. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1dimension.html">dimension</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function which defines coordinate dimensions, i.e. the number of axes of any geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1distance__result.html">distance_result</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1dsv__manipulator.html">dsv_manipulator</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic geometry template manipulator class, takes corresponding output class from <a class="el" href="namespaceggl_1_1traits.html">traits</a> class. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ever__circling__iterator.html">ever_circling_iterator</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator which ever circles through a range. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1exception.html">exception</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base <a class="el" href="structggl_1_1exception.html" title="Base exception class for GGL.">exception</a> class for GGL. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1geographic__tag.html">geographic_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tag indicating Geographic coordinate system family (geographic). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1geometry__collection__tag.html">geometry_collection_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OGC Geometry Collection identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1geometry__id.html">geometry_id</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function the id for a geometry type. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1geometry__not__recognized__tag.html">geometry_not_recognized_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">"default" <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1interior__type.html">interior_type</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining container type of inner rings of (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> geometriy. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1is__linear.html">is_linear</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining "true" for linear types (<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), "false" for non-linear typse. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1is__multi.html">is_multi</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining "true" for multi geometries (<a class="el" href="structggl_1_1multi__point.html">multi_point</a>, etc). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1is__radian.html">is_radian</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1less.html">less</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Less predicate for usage in e.g. std::map. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1linear__ring.html">linear_ring</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1linestring.html">linestring</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1linestring__tag.html">linestring_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OGC Linestring identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__linestring.html">multi_linestring</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__linestring__tag.html">multi_linestring_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OGC Multi <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> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__point.html">multi_point</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__point__tag.html">multi_point_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OGC Multi <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__polygon.html">multi_polygon</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__polygon__tag.html">multi_polygon_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OGC Multi <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html">nsphere</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a>: defines a circle or a sphere: a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> with radius. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1nsphere__tag.html">nsphere_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience 2D (circle) or 3D (sphere) n-sphere identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point.html">point</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</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="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function which defines point-const-iterator type. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__tag.html">point_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__type.html">point_type</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point__xy.html">point_xy</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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 More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html">polygon</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1polygon__tag.html">polygon_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OGC Polygon identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1radian.html">radian</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unit of plan angles: radians. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1radius__type.html">radius_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1replace__point__type.html">replace_point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1reverse__dispatch.html">reverse_dispatch</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ring__tag.html">ring_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience (linear) ring identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ring__type.html">ring_type</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function which defines ring type of (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html">section</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure containing <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a> information. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1sections.html">sections</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment.html">segment</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>: small containing two (templatized) <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> references. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__identifier.html">segment_identifier</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__intersection__points.html">segment_intersection_points</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__tag.html">segment_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Utility selecting the most precise coordinate type of two geometries. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__most__precise.html">select_most_precise</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class to select, of two types, the most accurate type for calculations. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1spherical__tag.html">spherical_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tag indicating Spherical coordinate system family (spherical,celestial,...). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__area.html">strategy_area</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding an area <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__centroid.html">strategy_centroid</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a centroid calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__compare.html">strategy_compare</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a comparing <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__convex__hull.html">strategy_convex_hull</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__distance.html">strategy_distance</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a (possibly two) coordinate system(s). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__distance__segment.html">strategy_distance_segment</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a distance-to-segment <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a (possibly two) coordinate system(s). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__envelope.html">strategy_envelope</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding envelope <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__parse.html">strategy_parse</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a parsing <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__side.html">strategy_side</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a side determination <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__tag.html">strategy_tag</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__tag__distance__point__point.html">strategy_tag_distance_point_point</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__tag__distance__point__segment.html">strategy_tag_distance_point_segment</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__tag__unknown.html">strategy_tag_unknown</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__transform.html">strategy_transform</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__within.html">strategy_within</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a within determination <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1svg__manipulator.html">svg_manipulator</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic geometry template manipulator class, takes corresponding output class from <a class="el" href="namespaceggl_1_1traits.html">traits</a> class. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1tag.html">tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function to get the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of any geometry type. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1topological__dimension.html">topological_dimension</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function returning the topological <a class="el" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension</a> of a geometry. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1box.html">box</a>&lt; <a class="el" href="classggl_1_1point__xy.html">point_2d</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0d9610ad977d0764a37b8e9f6ca94b30">box_2d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1box.html">box</a>&lt; <a class="el" href="classggl_1_1point.html">point_3d</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#246b6f132ae46d37ab627fe899ca1122">box_3d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1nsphere.html">nsphere</a>&lt; <a class="el" href="classggl_1_1point__xy.html">point_2d</a>, double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#311770c599e6440d3890b7ff4c651af6">circle</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1linestring.html">linestring</a>&lt; <a class="el" href="classggl_1_1point__xy.html">point_2d</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#bd8e114c665e6cc6ea48e2e716eeedc2">linestring_2d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1linestring.html">linestring</a>&lt; <a class="el" href="classggl_1_1point.html">point_3d</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#3d956a540f1e8dda3d3d7bf8ca1d9ccf">linestring_3d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1point__xy.html">point_xy</a>&lt; double, <br class="typebreak">
+<a class="el" href="structggl_1_1cs_1_1cartesian.html">cs::cartesian</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#440bc7037bbf1ba7118d6952d71b8e00">point_2d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1point.html">point</a>&lt; double, <br class="typebreak">
+3, <a class="el" href="structggl_1_1cs_1_1cartesian.html">cs::cartesian</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e7ead8472c5368638be291071e4e2a38">point_3d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1polygon.html">polygon</a>&lt; <a class="el" href="classggl_1_1point__xy.html">point_2d</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9b5c5324bc541d70c4ba3451be8a3365">polygon_2d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1polygon.html">polygon</a>&lt; <a class="el" href="classggl_1_1point.html">point_3d</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#d83f4f521b6af4a82f6afb9af164305e">polygon_3d</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>&lt; <a class="el" href="classggl_1_1point__xy.html">point_2d</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c40046fcbfc818fa12cc1e73e26e260b">ring_2d</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>&lt; <a class="el" href="classggl_1_1point.html">point_3d</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#fd5b225988bbf3d618978942a9e61b18">ring_3d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1segment.html">segment</a>&lt; <a class="el" href="classggl_1_1point__xy.html">point_2d</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#51ce3d75ac1988b5ed73cb3598da522b">segment_2d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1nsphere.html">nsphere</a>&lt; <a class="el" href="classggl_1_1point.html">point_3d</a>, double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#86293a2a12226b524f011818d22fbcaa">sphere</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename V &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">adapt_turns</a> (V &amp;intersection_points)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point1 , typename Point2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f">add_point</a> (Point1 &amp;p1, Point2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gf403c3bcfc0b66a4f708b6ea2890cadb">add_value</a> (Point &amp;p, typename detail::param&lt; Point &gt;::type value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a value to each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename RoP &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c">append</a> (G &amp;geometry, const RoP &amp;range_or_point, int ring_index=-1, int multi_index=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends one or more points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear-ring, <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, multi. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Strategy::return_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__area.html#g7e0783c73b5f561707c50b445a01b833">area</a> (Geometry const &amp;geometry, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate area of a geometry using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1area__result.html">area_result</a>&lt; Geometry &gt;<br class="typebreak">
+::return_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3">area</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate area of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Range , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Range const &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b">as_range</a> (Geometry const &amp;input)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , int D&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#ga43456dff55af2757deaf0168f02b899">assert_dimension</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assert_dimension, enables compile-time checking if coordinate dimensions are as expected <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g6af1781e9ae86e95302a6e9997549e95">assert_dimension_equal</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assert_dimension_equal, enables compile-time checking if coordinate dimensions of two geometries are equal <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , int D&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c748276bc142deaad1ce28af84d4edf8">assert_dimension_greater_equal</a> ()</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , int D&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#gc994425c217f28b39694f41e6d1f5386">assert_dimension_less_equal</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assert_dimension, enables compile-time checking if coordinate dimensions are as expected <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename R &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge87a43e061a27e450e01f00c228ed472">assign</a> (G &amp;geometry, R const &amp;range)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign a range of points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gc534d6dd298802a12265e7e9c1c25a01">assign</a> (G &amp;geometry, T const &amp;c1, T const &amp;c2, T const &amp;c3, T const &amp;c4)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign center + radius to a sphere <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g4e53af2d63f19a7550b5fe0156efc433">assign</a> (G &amp;geometry, T const &amp;c1, T const &amp;c2, T const &amp;c3)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign three values to a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or the center + radius to a circle <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge58b5c7b493d0112202dc139af200c73">assign</a> (G &amp;geometry, T const &amp;c1, T const &amp;c2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;std::size_t C1, std::size_t C2, typename B , typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e5791c5c360cbb58d16b18cb46323175">assign_box_corner</a> (B const &amp;<a class="el" href="classggl_1_1box.html">box</a>, P &amp;<a class="el" href="classggl_1_1point.html">point</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename B , typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271">assign_box_corners</a> (B const &amp;<a class="el" href="classggl_1_1box.html">box</a>, P &amp;lower_left, P &amp;lower_right, P &amp;upper_left, P &amp;upper_right)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd">assign_inverse</a> (G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0">assign_zero</a> (G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign zero values to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Input , typename Output , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63">buffer</a> (const Input &amp;geometry_in, Output &amp;geometry_out, T const &amp;distance, T const &amp;chord_length=-1)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate buffer (= new geometry) around specified distance of geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename P , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gda8ccb0bcdd94cebe5b66374259c1fe2">centroid</a> (const G &amp;geometry, P &amp;c, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate centroid using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd">centroid</a> (const G &amp;geometry, P &amp;c)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate centroid. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f">clear</a> (G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (exterior+interiors) or multi*. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098">close_to_zero</a> (T const &amp;value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Utility function to check if a distance is very small. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Box , typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199">combine</a> (Box &amp;<a class="el" href="classggl_1_1box.html">box</a>, Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with another geometry (<a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>). <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convert.html#ge07fa83176190049c856e35f77d0f569">convert</a> (G1 const &amp;geometry1, G2 &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts one geometry to another geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename OutputIterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18">convex_hull</a> (Geometry const &amp;geometry, OutputIterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the convex hull of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Src , typename Dst &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011">copy_coordinates</a> (const Src &amp;source, Dst &amp;dest)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename Geometry , typename SegmentIdentifier , typename RangeOut &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">copy_segments</a> (Geometry const &amp;geometry, SegmentIdentifier const &amp;seg_id, int to_index, RangeOut &amp;range_out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traverses through intersection points / geometries. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</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>&lt; Y, V, A &gt; &amp;mp)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a> (G &amp;geometry)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry1 , typename Geometry2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1">disjoint</a> (const Geometry1 &amp;geometry1, const Geometry2 &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate if two geometries are disjoint. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry1 , typename Geometry2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1distance__result.html">distance_result</a>&lt; Geometry1, <br class="typebreak">
+Geometry2 &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#gd122aa78e960f37b9d61bb02c6913f55">distance</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate distance between two geometries. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry1 , typename Geometry2 , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Strategy::return_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#g22a618786d2601e9201896a8346c161b">distance</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate distance between two geometries with a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point1 , typename Point2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g107f9a76ffac64805a1f0c93ce235da8">divide_point</a> (Point1 &amp;p1, Point2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divides a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by another. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g8eb0c9ae709c0b9a9e9de8cfd32f7ee8">divide_value</a> (Point &amp;p, typename detail::param&lt; Point &gt;::type value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divides each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by a value. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P1 , typename P2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; P1 &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556">dot_product</a> (P1 const &amp;p1, P2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the dot product of 2 points. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1dsv__manipulator.html">dsv_manipulator</a>&lt; Geometry &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4">dsv</a> (Geometry const &amp;geometry, std::string const &amp;coordinate_separator=&quot;, &quot;, std::string const &amp;point_open=&quot;(&quot;, std::string const &amp;point_close=&quot;)&quot;, std::string const &amp;point_separator=&quot;, &quot;, std::string const &amp;list_open=&quot;(&quot;, std::string const &amp;list_close=&quot;)&quot;, std::string const &amp;list_separator=&quot;, &quot;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main DSV-streaming function. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename IntersectionPoints &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3">enrich_intersection_points</a> (IntersectionPoints &amp;intersection_points, bool trivial)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All intersection points are enriched with successor information. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename B &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g89671917cfb1753f65d4bcc2fc334bf9">envelope</a> (G const &amp;geometry, B &amp;mbr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate envelope of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename B , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36">envelope</a> (G const &amp;geometry, B &amp;mbr, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate envelope of a geometry, using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry1 , typename Geometry2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5">equals</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate if two geometries are equals. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const <a class="el" href="structggl_1_1ring__type.html">ring_type</a>&lt; P &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gf12f8fe7a53c5fc0fb45c2d24d0999c9">exterior_ring</a> (const P &amp;<a class="el" href="classggl_1_1polygon.html">polygon</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the exterior ring 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> (const version). <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1ring__type.html">ring_type</a>&lt; P &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01">exterior_ring</a> (P &amp;<a class="el" href="classggl_1_1polygon.html">polygon</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the exterior_ring ring 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>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point , typename Op &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a> (Point &amp;<a class="el" href="classggl_1_1point.html">point</a>, Op operation)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#3b3b5c7184cabf25d464055befdf771f">for_each_point</a> (const <a class="el" href="structggl_1_1multi__polygon.html">multi_polygon</a>&lt; Y, V, A &gt; &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9d56089829983b18a5647668a81f625d">for_each_point</a> (const <a class="el" href="structggl_1_1multi__linestring.html">multi_linestring</a>&lt; L, V, A &gt; &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e8a2e92fd956aa3df683a612f14ba677">for_each_point</a> (const <a class="el" href="structggl_1_1multi__point.html">multi_point</a>&lt; P, V, A &gt; &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#500ee15ef99a75697def76e4438f24f7">for_each_point</a> (<a class="el" href="structggl_1_1multi__polygon.html">multi_polygon</a>&lt; Y, V, A &gt; &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#2b3c62431652f833fa2d549c6b7e3c3c">for_each_point</a> (<a class="el" href="structggl_1_1multi__linestring.html">multi_linestring</a>&lt; L, V, A &gt; &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#cbb57ed0b758231c53971362af3a0761">for_each_point</a> (<a class="el" href="structggl_1_1multi__point.html">multi_point</a>&lt; P, V, A &gt; &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#gbce8332305fc715d4587e7d78c21e4aa">for_each_point</a> (G &amp;geometry, F f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a">for_each_point</a> (G const &amp;geometry, F f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#77d4fc4a0165db7675e78b290f93a638">for_each_point_multi_linestring</a> (const ML &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#25386b22f7cdbb3f4cb1f39b5a454e79">for_each_point_multi_linestring</a> (ML &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MP , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e90a5c12e70988e6ab8886a407ded929">for_each_point_multi_point</a> (const MP &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MP , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#583292e2af8b5e8c473c66032028924f">for_each_point_multi_point</a> (MP &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#5d6800969a6bf28a35785e3c9eb5b0ea">for_each_point_multi_polygon</a> (const MY &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0da7e7dff53b5f6382a1bb83efc5b4a8">for_each_point_multi_polygon</a> (MY &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#326e05f4a599d0a732b4ee83ec9ea0cc">for_each_segment</a> (const <a class="el" href="structggl_1_1multi__polygon.html">multi_polygon</a>&lt; Y, V, A &gt; &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9b9e2763881a4191b54d44ba48b483e2">for_each_segment</a> (const <a class="el" href="structggl_1_1multi__linestring.html">multi_linestring</a>&lt; L, V, A &gt; &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#4f2108bb3eff47320d5c2e6c545b7df9">for_each_segment</a> (<a class="el" href="structggl_1_1multi__polygon.html">multi_polygon</a>&lt; Y, V, A &gt; &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#aab7ca3216793f5eb31dfc7b00294491">for_each_segment</a> (<a class="el" href="structggl_1_1multi__linestring.html">multi_linestring</a>&lt; L, V, A &gt; &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#gf3b5b3004fc802700882f9f4a184564a">for_each_segment</a> (G &amp;geometry, F f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for segments on linestrings, rings, polygons, ... <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3">for_each_segment</a> (const G &amp;geometry, F f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for segments on linestrings, rings, polygons, ... <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#6dd128fb1487f8b269d888721a10f23b">for_each_segment_multi_linestring</a> (const ML &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#2ff9b5d4ab8ade0181c804bee391b26c">for_each_segment_multi_linestring</a> (ML &amp;ml, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c16f604abd7cd129b20fa49255a1838e">for_each_segment_multi_polygon</a> (const MY &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY , typename F &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c07b4972809b53d2720a357b57aa840b">for_each_segment_multi_polygon</a> (MY &amp;mp, F f)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gd3c007fcbae837d56d13aa77ed03f920">get</a> (const G &amp;geometry, detail::signature_getset_index_dimension *dummy=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> / <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">get</a> (const G &amp;geometry, detail::signature_getset_dimension *dummy=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> / <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8923ef58b174aa129ba64465cbcf95b5">get_as_radian</a> (const G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, result is in RADIAN <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename IntersectionPoints &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g402420dc15139d3893450978f30920b9">get_intersection_points</a> (Geometry const &amp;geometry, IntersectionPoints &amp;intersection_points)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate self intersections of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry1 , typename Geometry2 , typename IntersectionPoints &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9">get_intersection_points</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, IntersectionPoints &amp;intersection_points)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate intersection points of two geometries. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1radius__type.html">radius_type</a>&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">get_radius</a> (const G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get radius. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Section &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__sectionalize.html#g5c0732d32eb6c6154f615b3a3337f4b9">get_section</a> (Geometry const &amp;geometry, Section const &amp;<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>&lt; Geometry &gt;::type &amp;begin, typename <a class="el" href="structggl_1_1point__const__iterator.html">point_const_iterator</a>&lt; Geometry &gt;::type &amp;end)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const <a class="el" href="structggl_1_1interior__type.html">interior_type</a>&lt; P &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ga81ef3b07a844489714e682f12e43746">interior_rings</a> (const P &amp;<a class="el" href="classggl_1_1polygon.html">polygon</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the interior rings of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (const version). <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1interior__type.html">interior_type</a>&lt; P &gt;::type &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758">interior_rings</a> (P &amp;<a class="el" href="classggl_1_1polygon.html">polygon</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the interior rings of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (non const version). <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename Iterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3">intermediate</a> (const G &amp;geometry, bool start_and_end, Iterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate intermediate of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename GeometryOut , typename Geometry1 , typename Geometry2 , typename OutputIterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5">intersection</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, OutputIterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersects two geometries which each other. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g5e7b5d7c8e010077237751f3a6b289ec">intersects</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine if there is at least one intersection (crossing or self-tangency). <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#ge20f9cdc37ebded2be03934edb05c3dd">length</a> (G const &amp;geometry, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate length of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa">length</a> (const G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate length of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename R , typename F , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f">loop</a> (R const &amp;range, F const &amp;functor, S &amp;state)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loops through segments of a container and call specified functor for all segments. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename R &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9750fc3edbf82cd85b5fb76be78db0ee">make</a> (R const &amp;range)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#ad2f7f3eab9b088dbfce7f3e47dcbe77">make</a> (T const &amp;c1, T const &amp;c2, T const &amp;c3, T const &amp;c4)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g76b1eb0628944050f3f75472df289a1f">make</a> (T const &amp;c1, T const &amp;c2, T const &amp;c3)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa">make</a> (T const &amp;c1, T const &amp;c2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Output , typename Input , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Output&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g86e90005b6d11abc10459e02e4f4ed22">make_buffer</a> (const Input &amp;geometry, T const &amp;distance, T const &amp;chord_length=-1)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return buffer (= new geometry) around specified distance of geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P , typename G , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">P&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#g8c284d8ca53c0ace8827431178438852">make_centroid</a> (const G &amp;geometry, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P , typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">P&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4">make_centroid</a> (const G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename R , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">R&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">make_distance_result</a> (T const &amp;value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Object generator to create instance which can be compared. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename B , typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">B&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g938cf2804a87e138cbf4b5b65314a3e4">make_envelope</a> (G const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename B , typename G , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">B&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d">make_envelope</a> (G const &amp;geometry, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911">make_inverse</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with inverse infinite coordinates. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename C &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a>&lt; typename <br class="typebreak">
+C::iterator, typename <br class="typebreak">
+C::value_type &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#be0f21b6c5bbffed69487d17fd970454">make_segment_iterator</a> (C &amp;c)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gb6c00a38f2e98ba4d83a04da43368071">make_zero</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a geometry with "zero" coordinates. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename IntersectionPoints &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f">merge_intersection_points</a> (IntersectionPoints &amp;intersection_points)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Merges intersection points such that points at the same location will be merged, having one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> and their info-records appended. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point1 , typename Point2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#ge9b84ad59c960d6a6c8257446e1fc4c1">multiply_point</a> (Point1 &amp;p1, Point2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by another. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gfc95bf881239da6c1f64f5b8d63dbe9d">multiply_value</a> (Point &amp;p, typename detail::param&lt; Point &gt;::type value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by a value. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g0b185daa84fef7c96923751e087fbb21">num_interior_rings</a> (const P &amp;<a class="el" href="classggl_1_1polygon.html">polygon</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get the number of interior rings of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8d58faff2722b073b44c24f19577e267">num_points</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get number of points <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Base , typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#a69739049ea926bb41bd9c9ffdaba2a5">operator!=</a> (<a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a>&lt; Base, Point &gt; const &amp;lhs, <a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a>&lt; Base, Point &gt; const &amp;rhs)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Base , typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#82646d087871f2c3ac0f6daad6f6f3ba">operator==</a> (<a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a>&lt; Base, Point &gt; const &amp;lhs, <a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a>&lt; Base, Point &gt; const &amp;rhs)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename B &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c">overlaps</a> (const B &amp;b1, const B &amp;b2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines overlap between two geometries. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g840995936a96075829b48a29a4a33b19">perimeter</a> (Geometry const &amp;geometry, Strategy const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate perimeter of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba">perimeter</a> (Geometry const &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate perimeter of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Sections &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1">sectionalize</a> (Geometry const &amp;geometry, Sections &amp;<a class="el" href="structggl_1_1sections.html">sections</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Split a geometry into monotonic <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename P , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3">selected</a> (G const &amp;geometry, P const &amp;selection_point, T const &amp;search_radius)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if one geometry is selected by a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> lying within or in the neighborhood of that geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6ced3f6383c5e664984c54a36a1d78a2">set</a> (G &amp;geometry, const typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; G &gt;::type &amp;value, detail::signature_getset_index_dimension *dummy=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign a coordinate value of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> / <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a">set</a> (G &amp;geometry, const typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; G &gt;::type &amp;value, detail::signature_getset_dimension *dummy=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign coordinate value to a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> / sphere <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g9fcd126a3429823c1b684e0bae01c491">set_from_radian</a> (G &amp;geometry, const typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; G &gt;::type &amp;radians)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign coordinate value (which is in <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>) to a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">set_radius</a> (G &amp;geometry, const typename <a class="el" href="structggl_1_1radius__type.html">radius_type</a>&lt; G &gt;::type &amp;radius)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</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>&lt; Y, V, A &gt; &amp;mp_in, <a class="el" href="structggl_1_1multi__polygon.html">multi_polygon</a>&lt; Y, V, A &gt; &amp;mp_out, double max_distance)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</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>&lt; L, V, A &gt; &amp;ml_in, <a class="el" href="structggl_1_1multi__linestring.html">multi_linestring</a>&lt; L, V, A &gt; &amp;ml_out, double max_distance)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g00b5a49a676c29d790764ad67e9fdfbc">simplify</a> (const G &amp;geometry, G &amp;out, double max_distance, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g44130eb01685933927c05207a01a84f1">simplify</a> (const G &amp;geometry, G &amp;out, double max_distance)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename O , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#gfac2ab8188c31cf7fab43e423884e0ed">simplify</a> (const G &amp;geometry, O out, double max_distance, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename O &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb">simplify</a> (const G &amp;geometry, O out, double max_distance)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#d6ac58fa58247aa420c6114932046ff5">simplify_multi_linestring</a> (const ML &amp;ml_in, ML &amp;ml_out, double max_distance)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#d17c1744a4d19447b5d976f7bf95930a">simplify_multi_polygon</a> (const MY &amp;mp_in, MY &amp;mp_out, double max_distance)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point1 , typename Point2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9">subtract_point</a> (Point1 &amp;p1, Point2 const &amp;p2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtracts a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#g4672200cc86d998c5b6a1106fb423d80">subtract_value</a> (Point &amp;p, typename detail::param&lt; Point &gt;::type value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtracts a value to each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1svg__manipulator.html">svg_manipulator</a>&lt; Geometry &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd">svg</a> (Geometry const &amp;t, std::string const &amp;style, int size=-1)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main svg function to stream geometries as SVG. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transform.html#g9ec9c2e79900a57ce292dc2026b7ead9">transform</a> (G1 const &amp;geometry1, G2 &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms from one geometry to another geometry using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500">transform</a> (G1 const &amp;geometry1, G2 &amp;geometry2, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms from one geometry to another geometry using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename GeometryOut , typename Geometry1 , typename Geometry2 , typename IntersectionPoints , typename OutputIterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d">traverse</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, int direction, IntersectionPoints &amp;intersection_points, bool trivial, OutputIterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traverses through intersection points / geometries. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 , typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g3051574eadb5ef8ae92ef210665a7332">within</a> (G1 const &amp;geometry1, G2 const &amp;geometry2, S const &amp;strategy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within check using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G1 , typename G2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc">within</a> (G1 const &amp;geometry1, G2 const &amp;geometry2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within check. <br></td></tr>
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a> = 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a> = 0</td></tr>
+
+</table>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="440bc7037bbf1ba7118d6952d71b8e00"></a><!-- doxytag: member="ggl::point_2d" ref="440bc7037bbf1ba7118d6952d71b8e00" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classggl_1_1point__xy.html">point_xy</a>&lt;double, <a class="el" href="structggl_1_1cs_1_1cartesian.html">cs::cartesian</a>&gt; <a class="el" href="classggl_1_1point__xy.html">ggl::point_2d</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="02__linestring__example_8cpp-example.html#a14">02_linestring_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="cartesian2d_8hpp_source.html#l00019">19</a> of file <a class="el" href="cartesian2d_8hpp_source.html">cartesian2d.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="bd8e114c665e6cc6ea48e2e716eeedc2"></a><!-- doxytag: member="ggl::linestring_2d" ref="bd8e114c665e6cc6ea48e2e716eeedc2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classggl_1_1linestring.html">linestring</a>&lt;<a class="el" href="classggl_1_1point__xy.html">point_2d</a>&gt; <a class="el" href="classggl_1_1linestring.html">ggl::linestring_2d</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cartesian2d_8hpp_source.html#l00020">20</a> of file <a class="el" href="cartesian2d_8hpp_source.html">cartesian2d.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c40046fcbfc818fa12cc1e73e26e260b"></a><!-- doxytag: member="ggl::ring_2d" ref="c40046fcbfc818fa12cc1e73e26e260b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classggl_1_1linear__ring.html">linear_ring</a>&lt;<a class="el" href="classggl_1_1point__xy.html">point_2d</a>&gt; <a class="el" href="classggl_1_1linear__ring.html">ggl::ring_2d</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cartesian2d_8hpp_source.html#l00021">21</a> of file <a class="el" href="cartesian2d_8hpp_source.html">cartesian2d.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="9b5c5324bc541d70c4ba3451be8a3365"></a><!-- doxytag: member="ggl::polygon_2d" ref="9b5c5324bc541d70c4ba3451be8a3365" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classggl_1_1polygon.html">polygon</a>&lt;<a class="el" href="classggl_1_1point__xy.html">point_2d</a>&gt; <a class="el" href="classggl_1_1polygon.html">ggl::polygon_2d</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cartesian2d_8hpp_source.html#l00022">22</a> of file <a class="el" href="cartesian2d_8hpp_source.html">cartesian2d.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="0d9610ad977d0764a37b8e9f6ca94b30"></a><!-- doxytag: member="ggl::box_2d" ref="0d9610ad977d0764a37b8e9f6ca94b30" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classggl_1_1box.html">box</a>&lt;<a class="el" href="classggl_1_1point__xy.html">point_2d</a>&gt; <a class="el" href="classggl_1_1box.html">ggl::box_2d</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cartesian2d_8hpp_source.html#l00023">23</a> of file <a class="el" href="cartesian2d_8hpp_source.html">cartesian2d.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="51ce3d75ac1988b5ed73cb3598da522b"></a><!-- doxytag: member="ggl::segment_2d" ref="51ce3d75ac1988b5ed73cb3598da522b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1segment.html">segment</a>&lt;<a class="el" href="classggl_1_1point__xy.html">point_2d</a>&gt; <a class="el" href="structggl_1_1segment.html">ggl::segment_2d</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cartesian2d_8hpp_source.html#l00024">24</a> of file <a class="el" href="cartesian2d_8hpp_source.html">cartesian2d.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="311770c599e6440d3890b7ff4c651af6"></a><!-- doxytag: member="ggl::circle" ref="311770c599e6440d3890b7ff4c651af6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classggl_1_1nsphere.html">nsphere</a>&lt;<a class="el" href="classggl_1_1point__xy.html">point_2d</a>, double&gt; <a class="el" href="classggl_1_1nsphere.html">ggl::circle</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cartesian2d_8hpp_source.html#l00025">25</a> of file <a class="el" href="cartesian2d_8hpp_source.html">cartesian2d.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e7ead8472c5368638be291071e4e2a38"></a><!-- doxytag: member="ggl::point_3d" ref="e7ead8472c5368638be291071e4e2a38" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classggl_1_1point.html">point</a>&lt;double, 3, <a class="el" href="structggl_1_1cs_1_1cartesian.html">cs::cartesian</a>&gt; <a class="el" href="classggl_1_1point.html">ggl::point_3d</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cartesian3d_8hpp_source.html#l00018">18</a> of file <a class="el" href="cartesian3d_8hpp_source.html">cartesian3d.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="3d956a540f1e8dda3d3d7bf8ca1d9ccf"></a><!-- doxytag: member="ggl::linestring_3d" ref="3d956a540f1e8dda3d3d7bf8ca1d9ccf" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classggl_1_1linestring.html">linestring</a>&lt;<a class="el" href="classggl_1_1point.html">point_3d</a>&gt; <a class="el" href="classggl_1_1linestring.html">ggl::linestring_3d</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cartesian3d_8hpp_source.html#l00019">19</a> of file <a class="el" href="cartesian3d_8hpp_source.html">cartesian3d.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="fd5b225988bbf3d618978942a9e61b18"></a><!-- doxytag: member="ggl::ring_3d" ref="fd5b225988bbf3d618978942a9e61b18" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classggl_1_1linear__ring.html">linear_ring</a>&lt;<a class="el" href="classggl_1_1point.html">point_3d</a>&gt; <a class="el" href="classggl_1_1linear__ring.html">ggl::ring_3d</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cartesian3d_8hpp_source.html#l00020">20</a> of file <a class="el" href="cartesian3d_8hpp_source.html">cartesian3d.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d83f4f521b6af4a82f6afb9af164305e"></a><!-- doxytag: member="ggl::polygon_3d" ref="d83f4f521b6af4a82f6afb9af164305e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classggl_1_1polygon.html">polygon</a>&lt;<a class="el" href="classggl_1_1point.html">point_3d</a>&gt; <a class="el" href="classggl_1_1polygon.html">ggl::polygon_3d</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cartesian3d_8hpp_source.html#l00021">21</a> of file <a class="el" href="cartesian3d_8hpp_source.html">cartesian3d.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="246b6f132ae46d37ab627fe899ca1122"></a><!-- doxytag: member="ggl::box_3d" ref="246b6f132ae46d37ab627fe899ca1122" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classggl_1_1box.html">box</a>&lt;<a class="el" href="classggl_1_1point.html">point_3d</a>&gt; <a class="el" href="classggl_1_1box.html">ggl::box_3d</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cartesian3d_8hpp_source.html#l00022">22</a> of file <a class="el" href="cartesian3d_8hpp_source.html">cartesian3d.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="86293a2a12226b524f011818d22fbcaa"></a><!-- doxytag: member="ggl::sphere" ref="86293a2a12226b524f011818d22fbcaa" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="classggl_1_1nsphere.html">nsphere</a>&lt;<a class="el" href="classggl_1_1point.html">point_3d</a>, double&gt; <a class="el" href="classggl_1_1nsphere.html">ggl::sphere</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cartesian3d_8hpp_source.html#l00024">24</a> of file <a class="el" href="cartesian3d_8hpp_source.html">cartesian3d.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="c748276bc142deaad1ce28af84d4edf8"></a><!-- doxytag: member="ggl::assert_dimension_greater_equal" ref="c748276bc142deaad1ce28af84d4edf8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , int D&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assert_dimension_greater_equal </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="coordinate__dimension_8hpp_source.html#l00094">94</a> of file <a class="el" href="coordinate__dimension_8hpp_source.html">coordinate_dimension.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="de63f8bac74d1e2a56c2d2712eceb8af"></a><!-- doxytag: member="ggl::correct" ref="de63f8bac74d1e2a56c2d2712eceb8af" args="(G &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::correct </td>
+ <td>(</td>
+ <td class="paramtype">G &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="ad2f7f3eab9b088dbfce7f3e47dcbe77"></a><!-- doxytag: member="ggl::make" ref="ad2f7f3eab9b088dbfce7f3e47dcbe77" args="(T const &amp;c1, T const &amp;c2, T const &amp;c3, T const &amp;c4)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">G ggl::make </td>
+ <td>(</td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>c4</em></td><td>&nbsp;</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="make_8hpp_source.html#l00059">59</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="9750fc3edbf82cd85b5fb76be78db0ee"></a><!-- doxytag: member="ggl::make" ref="9750fc3edbf82cd85b5fb76be78db0ee" args="(R const &amp;range)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G , typename R &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">G ggl::make </td>
+ <td>(</td>
+ <td class="paramtype">R const &amp;&nbsp;</td>
+ <td class="paramname"> <em>range</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="make_8hpp_source.html#l00074">74</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a8f29c6cbf3f88d5926a127c76976027"></a><!-- doxytag: member="ggl::adapt_turns" ref="a8f29c6cbf3f88d5926a127c76976027" args="(V &amp;intersection_points)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename V &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::adapt_turns </td>
+ <td>(</td>
+ <td class="paramtype">V &amp;&nbsp;</td>
+ <td class="paramname"> <em>intersection_points</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="adapt__turns_8hpp_source.html#l00541">541</a> of file <a class="el" href="adapt__turns_8hpp_source.html">adapt_turns.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="82646d087871f2c3ac0f6daad6f6f3ba"></a><!-- doxytag: member="ggl::operator==" ref="82646d087871f2c3ac0f6daad6f6f3ba" args="(segment_iterator&lt; Base, Point &gt; const &amp;lhs, segment_iterator&lt; Base, Point &gt; const &amp;rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base , typename Point &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::operator== </td>
+ <td>(</td>
+ <td class="paramtype">segment_iterator&lt; Base, Point &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">segment_iterator&lt; Base, Point &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>rhs</em></td><td>&nbsp;</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="segment__iterator_8hpp_source.html#l00111">111</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a69739049ea926bb41bd9c9ffdaba2a5"></a><!-- doxytag: member="ggl::operator!=" ref="a69739049ea926bb41bd9c9ffdaba2a5" args="(segment_iterator&lt; Base, Point &gt; const &amp;lhs, segment_iterator&lt; Base, Point &gt; const &amp;rhs)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base , typename Point &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::operator!= </td>
+ <td>(</td>
+ <td class="paramtype">segment_iterator&lt; Base, Point &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">segment_iterator&lt; Base, Point &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>rhs</em></td><td>&nbsp;</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="segment__iterator_8hpp_source.html#l00118">118</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="be0f21b6c5bbffed69487d17fd970454"></a><!-- doxytag: member="ggl::make_segment_iterator" ref="be0f21b6c5bbffed69487d17fd970454" args="(C &amp;c)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename C &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a>&lt; typename C::iterator, typename C::value_type&gt; ggl::make_segment_iterator </td>
+ <td>(</td>
+ <td class="paramtype">C &amp;&nbsp;</td>
+ <td class="paramname"> <em>c</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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&lt; Y, V, A &gt; &amp;mp)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::correct </td>
+ <td>(</td>
+ <td class="paramtype">multi_polygon&lt; Y, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp</em> </td>
+ <td>&nbsp;)&nbsp;</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>
+
+</div>
+</div><p>
+<a class="anchor" name="583292e2af8b5e8c473c66032028924f"></a><!-- doxytag: member="ggl::for_each_point_multi_point" ref="583292e2af8b5e8c473c66032028924f" args="(MP &amp;mp, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename MP , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point_multi_point </td>
+ <td>(</td>
+ <td class="paramtype">MP &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00023">23</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="25386b22f7cdbb3f4cb1f39b5a454e79"></a><!-- doxytag: member="ggl::for_each_point_multi_linestring" ref="25386b22f7cdbb3f4cb1f39b5a454e79" args="(ML &amp;ml, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename ML , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point_multi_linestring </td>
+ <td>(</td>
+ <td class="paramtype">ML &amp;&nbsp;</td>
+ <td class="paramname"> <em>ml</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00029">29</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="0da7e7dff53b5f6382a1bb83efc5b4a8"></a><!-- doxytag: member="ggl::for_each_point_multi_polygon" ref="0da7e7dff53b5f6382a1bb83efc5b4a8" args="(MY &amp;mp, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename MY , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point_multi_polygon </td>
+ <td>(</td>
+ <td class="paramtype">MY &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00039">39</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e90a5c12e70988e6ab8886a407ded929"></a><!-- doxytag: member="ggl::for_each_point_multi_point" ref="e90a5c12e70988e6ab8886a407ded929" args="(const MP &amp;mp, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename MP , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point_multi_point </td>
+ <td>(</td>
+ <td class="paramtype">const MP &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00052">52</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="77d4fc4a0165db7675e78b290f93a638"></a><!-- doxytag: member="ggl::for_each_point_multi_linestring" ref="77d4fc4a0165db7675e78b290f93a638" args="(const ML &amp;ml, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename ML , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point_multi_linestring </td>
+ <td>(</td>
+ <td class="paramtype">const ML &amp;&nbsp;</td>
+ <td class="paramname"> <em>ml</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00059">59</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="5d6800969a6bf28a35785e3c9eb5b0ea"></a><!-- doxytag: member="ggl::for_each_point_multi_polygon" ref="5d6800969a6bf28a35785e3c9eb5b0ea" args="(const MY &amp;mp, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename MY , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point_multi_polygon </td>
+ <td>(</td>
+ <td class="paramtype">const MY &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00069">69</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2ff9b5d4ab8ade0181c804bee391b26c"></a><!-- doxytag: member="ggl::for_each_segment_multi_linestring" ref="2ff9b5d4ab8ade0181c804bee391b26c" args="(ML &amp;ml, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename ML , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_segment_multi_linestring </td>
+ <td>(</td>
+ <td class="paramtype">ML &amp;&nbsp;</td>
+ <td class="paramname"> <em>ml</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00081">81</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c07b4972809b53d2720a357b57aa840b"></a><!-- doxytag: member="ggl::for_each_segment_multi_polygon" ref="c07b4972809b53d2720a357b57aa840b" args="(MY &amp;mp, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename MY , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_segment_multi_polygon </td>
+ <td>(</td>
+ <td class="paramtype">MY &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00091">91</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="6dd128fb1487f8b269d888721a10f23b"></a><!-- doxytag: member="ggl::for_each_segment_multi_linestring" ref="6dd128fb1487f8b269d888721a10f23b" args="(const ML &amp;ml, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename ML , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_segment_multi_linestring </td>
+ <td>(</td>
+ <td class="paramtype">const ML &amp;&nbsp;</td>
+ <td class="paramname"> <em>ml</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00106">106</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c16f604abd7cd129b20fa49255a1838e"></a><!-- doxytag: member="ggl::for_each_segment_multi_polygon" ref="c16f604abd7cd129b20fa49255a1838e" args="(const MY &amp;mp, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename MY , typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_segment_multi_polygon </td>
+ <td>(</td>
+ <td class="paramtype">const MY &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00116">116</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="cbb57ed0b758231c53971362af3a0761"></a><!-- doxytag: member="ggl::for_each_point" ref="cbb57ed0b758231c53971362af3a0761" args="(multi_point&lt; P, V, A &gt; &amp;mp, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point </td>
+ <td>(</td>
+ <td class="paramtype">multi_point&lt; P, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00133">133</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2b3c62431652f833fa2d549c6b7e3c3c"></a><!-- doxytag: member="ggl::for_each_point" ref="2b3c62431652f833fa2d549c6b7e3c3c" args="(multi_linestring&lt; L, V, A &gt; &amp;ml, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point </td>
+ <td>(</td>
+ <td class="paramtype">multi_linestring&lt; L, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>ml</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00141">141</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="500ee15ef99a75697def76e4438f24f7"></a><!-- doxytag: member="ggl::for_each_point" ref="500ee15ef99a75697def76e4438f24f7" args="(multi_polygon&lt; Y, V, A &gt; &amp;mp, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point </td>
+ <td>(</td>
+ <td class="paramtype">multi_polygon&lt; Y, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00149">149</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e8a2e92fd956aa3df683a612f14ba677"></a><!-- doxytag: member="ggl::for_each_point" ref="e8a2e92fd956aa3df683a612f14ba677" args="(const multi_point&lt; P, V, A &gt; &amp;mp, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point </td>
+ <td>(</td>
+ <td class="paramtype">const multi_point&lt; P, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00160">160</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="9d56089829983b18a5647668a81f625d"></a><!-- doxytag: member="ggl::for_each_point" ref="9d56089829983b18a5647668a81f625d" args="(const multi_linestring&lt; L, V, A &gt; &amp;ml, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point </td>
+ <td>(</td>
+ <td class="paramtype">const multi_linestring&lt; L, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>ml</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00168">168</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="3b3b5c7184cabf25d464055befdf771f"></a><!-- doxytag: member="ggl::for_each_point" ref="3b3b5c7184cabf25d464055befdf771f" args="(const multi_polygon&lt; Y, V, A &gt; &amp;mp, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_point </td>
+ <td>(</td>
+ <td class="paramtype">const multi_polygon&lt; Y, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00177">177</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="aab7ca3216793f5eb31dfc7b00294491"></a><!-- doxytag: member="ggl::for_each_segment" ref="aab7ca3216793f5eb31dfc7b00294491" args="(multi_linestring&lt; L, V, A &gt; &amp;ml, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_segment </td>
+ <td>(</td>
+ <td class="paramtype">multi_linestring&lt; L, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>ml</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00188">188</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="4f2108bb3eff47320d5c2e6c545b7df9"></a><!-- doxytag: member="ggl::for_each_segment" ref="4f2108bb3eff47320d5c2e6c545b7df9" args="(multi_polygon&lt; Y, V, A &gt; &amp;mp, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_segment </td>
+ <td>(</td>
+ <td class="paramtype">multi_polygon&lt; Y, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00196">196</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="9b9e2763881a4191b54d44ba48b483e2"></a><!-- doxytag: member="ggl::for_each_segment" ref="9b9e2763881a4191b54d44ba48b483e2" args="(const multi_linestring&lt; L, V, A &gt; &amp;ml, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_segment </td>
+ <td>(</td>
+ <td class="paramtype">const multi_linestring&lt; L, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>ml</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00207">207</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="326e05f4a599d0a732b4ee83ec9ea0cc"></a><!-- doxytag: member="ggl::for_each_segment" ref="326e05f4a599d0a732b4ee83ec9ea0cc" args="(const multi_polygon&lt; Y, V, A &gt; &amp;mp, F f)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">F ggl::for_each_segment </td>
+ <td>(</td>
+ <td class="paramtype">const multi_polygon&lt; Y, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">F&nbsp;</td>
+ <td class="paramname"> <em>f</em></td><td>&nbsp;</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="foreach_8hpp_source.html#l00215">215</a> of file <a class="el" href="foreach_8hpp_source.html">foreach.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d6ac58fa58247aa420c6114932046ff5"></a><!-- doxytag: member="ggl::simplify_multi_linestring" ref="d6ac58fa58247aa420c6114932046ff5" args="(const ML &amp;ml_in, ML &amp;ml_out, double max_distance)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename ML &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::simplify_multi_linestring </td>
+ <td>(</td>
+ <td class="paramtype">const ML &amp;&nbsp;</td>
+ <td class="paramname"> <em>ml_in</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">ML &amp;&nbsp;</td>
+ <td class="paramname"> <em>ml_out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>max_distance</em></td><td>&nbsp;</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 &amp;mp_in, MY &amp;mp_out, double max_distance)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename MY &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::simplify_multi_polygon </td>
+ <td>(</td>
+ <td class="paramtype">const MY &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp_in</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">MY &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp_out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>max_distance</em></td><td>&nbsp;</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&lt; L, V, A &gt; &amp;ml_in, multi_linestring&lt; L, V, A &gt; &amp;ml_out, double max_distance)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::simplify </td>
+ <td>(</td>
+ <td class="paramtype">const multi_linestring&lt; L, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>ml_in</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">multi_linestring&lt; L, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>ml_out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>max_distance</em></td><td>&nbsp;</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&lt; Y, V, A &gt; &amp;mp_in, multi_polygon&lt; Y, V, A &gt; &amp;mp_out, double max_distance)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::simplify </td>
+ <td>(</td>
+ <td class="paramtype">const multi_polygon&lt; Y, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp_in</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">multi_polygon&lt; Y, V, A &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>mp_out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>max_distance</em></td><td>&nbsp;</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 &amp;box, P &amp;point)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;std::size_t C1, std::size_t C2, typename B , typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign_box_corner </td>
+ <td>(</td>
+ <td class="paramtype">B const &amp;&nbsp;</td>
+ <td class="paramname"> <em>box</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P &amp;&nbsp;</td>
+ <td class="paramname"> <em>point</em></td><td>&nbsp;</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 &amp;box, P &amp;lower_left, P &amp;lower_right, P &amp;upper_left, P &amp;upper_right)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename B , typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign_box_corners </td>
+ <td>(</td>
+ <td class="paramtype">B const &amp;&nbsp;</td>
+ <td class="paramname"> <em>box</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P &amp;&nbsp;</td>
+ <td class="paramname"> <em>lower_left</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P &amp;&nbsp;</td>
+ <td class="paramname"> <em>lower_right</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P &amp;&nbsp;</td>
+ <td class="paramname"> <em>upper_left</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P &amp;&nbsp;</td>
+ <td class="paramname"> <em>upper_right</em></td><td>&nbsp;</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__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>
+
+</div>
+</div><p>
+<a class="anchor" name="173003fecd63871d3a6aee07f4ba7011"></a><!-- doxytag: member="ggl::copy_coordinates" ref="173003fecd63871d3a6aee07f4ba7011" args="(const Src &amp;source, Dst &amp;dest)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Src , typename Dst &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::copy_coordinates </td>
+ <td>(</td>
+ <td class="paramtype">const Src &amp;&nbsp;</td>
+ <td class="paramname"> <em>source</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Dst &amp;&nbsp;</td>
+ <td class="paramname"> <em>dest</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+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>.
+<p>
+The function copy_coordinates copies coordinates from one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. Source <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> and destination <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> might be of different types. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>Source <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>Destination <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ </table>
+</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>
+
+</div>
+</div><p>
+<a class="anchor" name="578a218a60843891321b599d222090db"></a><!-- doxytag: member="ggl::for_each_coordinate" ref="578a218a60843891321b599d222090db" args="(Point &amp;point, Op operation)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename Op &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::for_each_coordinate </td>
+ <td>(</td>
+ <td class="paramtype">Point &amp;&nbsp;</td>
+ <td class="paramname"> <em>point</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Op&nbsp;</td>
+ <td class="paramname"> <em>operation</em></td><td>&nbsp;</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="for__each__coordinate_8hpp_source.html#l00050">50</a> of file <a class="el" href="for__each__coordinate_8hpp_source.html">for_each_coordinate.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="3399b7516122f515a1ea5ee5fdf49ce4"></a><!-- doxytag: member="ggl::dsv" ref="3399b7516122f515a1ea5ee5fdf49ce4" args="(Geometry const &amp;geometry, std::string const &amp;coordinate_separator=&quot;, &quot;, std::string const &amp;point_open=&quot;(&quot;, std::string const &amp;point_close=&quot;)&quot;, std::string const &amp;point_separator=&quot;, &quot;, std::string const &amp;list_open=&quot;(&quot;, std::string const &amp;list_close=&quot;)&quot;, std::string const &amp;list_separator=&quot;, &quot;)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1dsv__manipulator.html">dsv_manipulator</a>&lt;Geometry&gt; ggl::dsv </td>
+ <td>(</td>
+ <td class="paramtype">Geometry const &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::string const &amp;&nbsp;</td>
+ <td class="paramname"> <em>coordinate_separator</em> = <code>&quot;,&nbsp;&quot;</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::string const &amp;&nbsp;</td>
+ <td class="paramname"> <em>point_open</em> = <code>&quot;(&quot;</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::string const &amp;&nbsp;</td>
+ <td class="paramname"> <em>point_close</em> = <code>&quot;)&quot;</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::string const &amp;&nbsp;</td>
+ <td class="paramname"> <em>point_separator</em> = <code>&quot;,&nbsp;&quot;</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::string const &amp;&nbsp;</td>
+ <td class="paramname"> <em>list_open</em> = <code>&quot;(&quot;</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::string const &amp;&nbsp;</td>
+ <td class="paramname"> <em>list_close</em> = <code>&quot;)&quot;</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::string const &amp;&nbsp;</td>
+ <td class="paramname"> <em>list_separator</em> = <code>&quot;,&nbsp;&quot;</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+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>
+<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>
+</div><p>
+<hr><h2>Variable Documentation</h2>
+<a class="anchor" name="1ce1f1fae9b689b692d623ee76d20857"></a><!-- doxytag: member="ggl::min_corner" ref="1ce1f1fae9b689b692d623ee76d20857" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const int <a class="el" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">ggl::min_corner</a> = 0 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00024">24</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="0df0bc9b23e7d20e4596c25071039f0a"></a><!-- doxytag: member="ggl::max_corner" ref="0df0bc9b23e7d20e4596c25071039f0a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const int <a class="el" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">ggl::max_corner</a> = 1 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00025">25</a> of file <a class="el" href="access_8hpp_source.html">access.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_box.html">Box</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_box.html">ConstBox</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ConstNsphere</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_point.html">ConstPoint</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ConstRing</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ConstSegment</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_linestring.html">Linestring</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_nsphere.html">Nsphere</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</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">&nbsp;</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 &nbsp;</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">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_ring.html">Ring</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks (linear) <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</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">&nbsp;</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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1cs.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1cs.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1cs.html">cs</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::cs Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1cartesian.html">cartesian</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cartesian coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1geographic.html">geographic</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Geographic coordinate system, in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> or in <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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1polar.html">polar</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Polar coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1spherical.html">spherical</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spherical coordinate system, in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>. More...<br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1math.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1math.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,266 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1math.html">math</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::math Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T1 , typename T2 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34">equals</a> (T1 const &amp;a, T2 const &amp;b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns true if both arguments are equal. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#eda38de76b567b170a5c9cadbe660311">hav</a> (T const &amp;theta)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates the haversine of an angle. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#c23ed0ce6b779976def3d4b3d633d337">sqr</a> (T const &amp;value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Short utility to return the square. <br></td></tr>
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">d2r</a> = <a class="el" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">pi</a> / 180.0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">pi</a> = boost::math::constants::pi&lt;double&gt;()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">r2d</a> = 1.0 / <a class="el" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">d2r</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">two_pi</a> = 2.0 * <a class="el" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">pi</a></td></tr>
+
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="d90ba94c2d65876e9485b2bbd10def34"></a><!-- doxytag: member="ggl::math::equals" ref="d90ba94c2d65876e9485b2bbd10def34" args="(T1 const &amp;a, T2 const &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T1 , typename T2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::math::equals </td>
+ <td>(</td>
+ <td class="paramtype">T1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+returns true if both arguments are equal.
+<p>
+equals returns true if both arguments are equal. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>first argument </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>second argument </td></tr>
+ </table>
+</dl>
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="eda38de76b567b170a5c9cadbe660311"></a><!-- doxytag: member="ggl::math::hav" ref="eda38de76b567b170a5c9cadbe660311" args="(T const &amp;theta)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">T ggl::math::hav </td>
+ <td>(</td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>theta</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculates the haversine of an angle.
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="c23ed0ce6b779976def3d4b3d633d337"></a><!-- doxytag: member="ggl::math::sqr" ref="c23ed0ce6b779976def3d4b3d633d337" args="(T const &amp;value)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">T ggl::math::sqr </td>
+ <td>(</td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>value</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Short utility to return the square.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>Value to calculate the square from </td></tr>
+ </table>
+</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>
+
+</div>
+</div><p>
+<hr><h2>Variable Documentation</h2>
+<a class="anchor" name="54fc384779fa97a61e07149d880a599c"></a><!-- doxytag: member="ggl::math::pi" ref="54fc384779fa97a61e07149d880a599c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double const <a class="el" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">ggl::math::pi</a> = boost::math::constants::pi&lt;double&gt;() </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="48e76b75db9d3d5685245cfbfd1c821e"></a><!-- doxytag: member="ggl::math::two_pi" ref="48e76b75db9d3d5685245cfbfd1c821e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double const <a class="el" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">ggl::math::two_pi</a> = 2.0 * <a class="el" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">pi</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="769a1475e4e990429b75435c2bc3bf0e"></a><!-- doxytag: member="ggl::math::d2r" ref="769a1475e4e990429b75435c2bc3bf0e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double const <a class="el" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">ggl::math::d2r</a> = <a class="el" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">pi</a> / 180.0 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="8e62ae7fbcc6b9adca9628da415f6a91"></a><!-- doxytag: member="ggl::math::r2d" ref="8e62ae7fbcc6b9adca9628da415f6a91" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double const <a class="el" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">ggl::math::r2d</a> = 1.0 / <a class="el" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">d2r</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1policies.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1policies.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1policies.html">policies</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::policies Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1policies_1_1relate.html">relate</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1policies_1_1relate.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1policies_1_1relate.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1policies.html">policies</a>::<a class="el" href="namespaceggl_1_1policies_1_1relate.html">relate</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::policies::relate Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">direction_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">segments_de9im</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">segments_direction</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">segments_intersection_points</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">segments_tupled</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,99 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1intersection.html">intersection</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1transform.html">transform</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1convex__hull.html">convex_hull</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">simplify</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1within.html">within</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">centroid</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1compare.html">compare</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">envelope</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1side.html">side</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1not__implemented.html">not_implemented</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate compiler/library user that <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> is not implemented. More...<br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1area.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1area.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::area Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">by_spherical_excess</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Area calculation by spherical excess. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">by_triangles</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points. More...<br></td></tr>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1centroid.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1centroid.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">centroid</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::centroid 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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">bashein_detmer</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Centroid calculation using algorith Bashein / Detmer. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">geolib1995</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Centroid calculation. More...<br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1compare.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1compare.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1compare.html">compare</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::compare Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">euclidian</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare (in one direction) <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for cartesian coordinates. More...<br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1convex__hull.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1convex__hull.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1convex__hull.html">convex_hull</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::convex_hull 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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">graham</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1distance.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1distance.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a>
+ </div>
+</div>
+<div class="contents">
+<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 &nbsp;</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">&nbsp;</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 class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ll_point_segment</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">pythagoras</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">xy_point_segment</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>. More...<br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1envelope.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1envelope.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">envelope</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::envelope Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">shift</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">combine_xy</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">grow_ll</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1envelope_1_1shift.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1envelope_1_1shift.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">envelope</a>::<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">shift</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::envelope::shift Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shifted</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html">shifted&lt; degree &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">shifted&lt; radian &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1intersection.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1intersection.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1intersection.html">intersection</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::intersection 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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">liang_barsky</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Strategy: line clipping algorithm after Liang Barsky. More...<br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1side.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1side.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1side.html">side</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::side Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">xy_side</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1simplify.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1simplify.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">simplify</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::simplify 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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">douglas_peucker</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements the <a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">simplify</a> algorithm. More...<br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1transform.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1transform.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,128 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">transform</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">copy_direct</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to copy one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another using assignment operator. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">copy_per_coordinate</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do copy a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, copying per coordinate. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html">degree_radian_vv</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to go from <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> to <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a> and back. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html">degree_radian_vv_3</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html">from_cartesian_3_to_spherical_2</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D cartesian (x,y,z) to 2D spherical (phi,theta). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html">from_cartesian_3_to_spherical_3</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D cartesian (x,y,z) to 3D spherical (phi,theta,r). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html">from_spherical_2_to_cartesian_3</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 2D spherical (phi,theta) to 3D cartesian (x,y,z). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html">from_spherical_3_to_cartesian_3</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D spherical (phi,theta,r) to 3D cartesian (x,y,z). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">inverse_transformer</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do an inverse ransformation in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">map_transformer</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do map from one to another Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">rotate_transformer</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to rotate in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">scale_transformer</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to scale in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; P1, P2, 2, 2 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; P1, P2, 3, 3 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">translate_transformer</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to translate in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; P1, P2, 2, 2 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; P1, P2, 3, 3 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ublas_transformer</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do an affine matrix transformation in Cartesian system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; P1, P2, 2, 2 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; P1, P2, 3, 2 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; P1, P2, 3, 3 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1within.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1within.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1within.html">within</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::within Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">franklin</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within detection using cross counting. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">winding</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Within detection using <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a> rule. More...<br></td></tr>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1traits.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1traits.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,134 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1traits.html">traits</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1access.html">access</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class which gives <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (get,set) to points. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1append__point.html">append_point</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1clear.html">clear</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">coordinate_system</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class defining the coordinate system of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, important for <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> selection. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1coordinate__type.html">coordinate_type</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class which indicate the coordinate type (double,float,...) of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1cs__tag.html">cs_tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class defining coordinate system <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">tag</a>, bound to coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1dimension.html">dimension</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class indicating the number of dimensions of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1exterior__ring.html">exterior_ring</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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_1exterior__ring.html" title="Traits class defining access to exterior_ring of a polygon.">exterior_ring</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>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1indexed__access.html">indexed_access</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class defining "get" and "set" to get and set <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> coordinate values. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1interior__rings.html">interior_rings</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</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">&nbsp;</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 &nbsp;</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">&nbsp;</td><td class="mdescRight">Traits class indicating the type of contained points. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1radius__access.html">radius_access</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class to get/set radius of a circle/sphere/(ellipse). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1radius__type.html">radius_type</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class indicating the type (double,float,...) of the radius of a circle or a sphere. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1ring__type.html">ring_type</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class to indicate ring-type of a polygon's exterior ring/interior rings. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1tag.html">tag</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1use__std.html">use_std</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class, optional, indicating that the std-library should be used. More...<br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,348 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</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>w</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all namespace members with links to the namespace documentation for each member:
+<p>
+<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+<li>adapt_turns()
+: <a class="el" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">ggl</a>
+<li>add_point()
+: <a class="el" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f">ggl</a>
+<li>add_value()
+: <a class="el" href="group__arithmetic.html#gf403c3bcfc0b66a4f708b6ea2890cadb">ggl</a>
+<li>append()
+: <a class="el" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c">ggl</a>
+<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>
+<li>assert_dimension()
+: <a class="el" href="group__utility.html#ga43456dff55af2757deaf0168f02b899">ggl</a>
+<li>assert_dimension_equal()
+: <a class="el" href="group__utility.html#g6af1781e9ae86e95302a6e9997549e95">ggl</a>
+<li>assert_dimension_greater_equal()
+: <a class="el" href="namespaceggl.html#c748276bc142deaad1ce28af84d4edf8">ggl</a>
+<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>
+<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_zero()
+: <a class="el" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>box_2d
+: <a class="el" href="namespaceggl.html#0d9610ad977d0764a37b8e9f6ca94b30">ggl</a>
+<li>box_3d
+: <a class="el" href="namespaceggl.html#246b6f132ae46d37ab627fe899ca1122">ggl</a>
+<li>buffer()
+: <a class="el" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>centroid()
+: <a class="el" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd">ggl</a>
+<li>circle
+: <a class="el" href="namespaceggl.html#311770c599e6440d3890b7ff4c651af6">ggl</a>
+<li>clear()
+: <a class="el" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f">ggl</a>
+<li>close_to_zero()
+: <a class="el" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098">ggl</a>
+<li>combine()
+: <a class="el" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199">ggl</a>
+<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>
+<li>copy_coordinates()
+: <a class="el" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011">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>
+</ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>d2r
+: <a class="el" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">ggl::math</a>
+<li>disjoint()
+: <a class="el" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1">ggl</a>
+<li>distance()
+: <a class="el" href="group__distance.html#gd122aa78e960f37b9d61bb02c6913f55">ggl</a>
+<li>divide_point()
+: <a class="el" href="group__arithmetic.html#g107f9a76ffac64805a1f0c93ce235da8">ggl</a>
+<li>divide_value()
+: <a class="el" href="group__arithmetic.html#g8eb0c9ae709c0b9a9e9de8cfd32f7ee8">ggl</a>
+<li>dot_product()
+: <a class="el" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556">ggl</a>
+<li>dsv()
+: <a class="el" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>enrich_intersection_points()
+: <a class="el" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3">ggl</a>
+<li>envelope()
+: <a class="el" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36">ggl</a>
+<li>equals()
+: <a class="el" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34">ggl::math</a>
+, <a class="el" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5">ggl</a>
+<li>exterior_ring()
+: <a class="el" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>for_each_coordinate()
+: <a class="el" href="namespaceggl.html#578a218a60843891321b599d222090db">ggl</a>
+<li>for_each_point()
+: <a class="el" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a">ggl</a>
+<li>for_each_point_multi_linestring()
+: <a class="el" href="namespaceggl.html#25386b22f7cdbb3f4cb1f39b5a454e79">ggl</a>
+<li>for_each_point_multi_point()
+: <a class="el" href="namespaceggl.html#583292e2af8b5e8c473c66032028924f">ggl</a>
+<li>for_each_point_multi_polygon()
+: <a class="el" href="namespaceggl.html#5d6800969a6bf28a35785e3c9eb5b0ea">ggl</a>
+<li>for_each_segment()
+: <a class="el" href="namespaceggl.html#326e05f4a599d0a732b4ee83ec9ea0cc">ggl</a>
+<li>for_each_segment_multi_linestring()
+: <a class="el" href="namespaceggl.html#6dd128fb1487f8b269d888721a10f23b">ggl</a>
+<li>for_each_segment_multi_polygon()
+: <a class="el" href="namespaceggl.html#c07b4972809b53d2720a357b57aa840b">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>get()
+: <a class="el" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">ggl</a>
+<li>get_as_radian()
+: <a class="el" href="group__access.html#g8923ef58b174aa129ba64465cbcf95b5">ggl</a>
+<li>get_intersection_points()
+: <a class="el" href="group__overlay.html#g402420dc15139d3893450978f30920b9">ggl</a>
+<li>get_radius()
+: <a class="el" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">ggl</a>
+<li>get_section()
+: <a class="el" href="group__sectionalize.html#g5c0732d32eb6c6154f615b3a3337f4b9">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>hav()
+: <a class="el" href="namespaceggl_1_1math.html#eda38de76b567b170a5c9cadbe660311">ggl::math</a>
+</ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>interior_rings()
+: <a class="el" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758">ggl</a>
+<li>intermediate()
+: <a class="el" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3">ggl</a>
+<li>intersection()
+: <a class="el" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5">ggl</a>
+<li>intersects()
+: <a class="el" href="group__overlay.html#g5e7b5d7c8e010077237751f3a6b289ec">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>length()
+: <a class="el" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa">ggl</a>
+<li>linestring_2d
+: <a class="el" href="namespaceggl.html#bd8e114c665e6cc6ea48e2e716eeedc2">ggl</a>
+<li>linestring_3d
+: <a class="el" href="namespaceggl.html#3d956a540f1e8dda3d3d7bf8ca1d9ccf">ggl</a>
+<li>loop()
+: <a class="el" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>make()
+: <a class="el" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa">ggl</a>
+<li>make_buffer()
+: <a class="el" href="group__buffer.html#g86e90005b6d11abc10459e02e4f4ed22">ggl</a>
+<li>make_centroid()
+: <a class="el" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4">ggl</a>
+<li>make_distance_result()
+: <a class="el" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">ggl</a>
+<li>make_envelope()
+: <a class="el" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d">ggl</a>
+<li>make_inverse()
+: <a class="el" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911">ggl</a>
+<li>make_segment_iterator()
+: <a class="el" href="namespaceggl.html#be0f21b6c5bbffed69487d17fd970454">ggl</a>
+<li>make_zero()
+: <a class="el" href="group__access.html#gb6c00a38f2e98ba4d83a04da43368071">ggl</a>
+<li>max_corner
+: <a class="el" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">ggl</a>
+<li>merge_intersection_points()
+: <a class="el" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f">ggl</a>
+<li>min_corner
+: <a class="el" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">ggl</a>
+<li>multiply_point()
+: <a class="el" href="group__arithmetic.html#ge9b84ad59c960d6a6c8257446e1fc4c1">ggl</a>
+<li>multiply_value()
+: <a class="el" href="group__arithmetic.html#gfc95bf881239da6c1f64f5b8d63dbe9d">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+<li>num_interior_rings()
+: <a class="el" href="group__access.html#g0b185daa84fef7c96923751e087fbb21">ggl</a>
+<li>num_points()
+: <a class="el" href="group__access.html#g8d58faff2722b073b44c24f19577e267">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>operator!=()
+: <a class="el" href="namespaceggl.html#a69739049ea926bb41bd9c9ffdaba2a5">ggl</a>
+<li>operator==()
+: <a class="el" href="namespaceggl.html#82646d087871f2c3ac0f6daad6f6f3ba">ggl</a>
+<li>overlaps()
+: <a class="el" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>perimeter()
+: <a class="el" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba">ggl</a>
+<li>pi
+: <a class="el" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">ggl::math</a>
+<li>point_2d
+: <a class="el" href="namespaceggl.html#440bc7037bbf1ba7118d6952d71b8e00">ggl</a>
+<li>point_3d
+: <a class="el" href="namespaceggl.html#e7ead8472c5368638be291071e4e2a38">ggl</a>
+<li>polygon_2d
+: <a class="el" href="namespaceggl.html#9b5c5324bc541d70c4ba3451be8a3365">ggl</a>
+<li>polygon_3d
+: <a class="el" href="namespaceggl.html#d83f4f521b6af4a82f6afb9af164305e">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>r2d
+: <a class="el" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">ggl::math</a>
+<li>ring_2d
+: <a class="el" href="namespaceggl.html#c40046fcbfc818fa12cc1e73e26e260b">ggl</a>
+<li>ring_3d
+: <a class="el" href="namespaceggl.html#fd5b225988bbf3d618978942a9e61b18">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>sectionalize()
+: <a class="el" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1">ggl</a>
+<li>segment_2d
+: <a class="el" href="namespaceggl.html#51ce3d75ac1988b5ed73cb3598da522b">ggl</a>
+<li>selected()
+: <a class="el" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3">ggl</a>
+<li>set()
+: <a class="el" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a">ggl</a>
+<li>set_from_radian()
+: <a class="el" href="group__access.html#g9fcd126a3429823c1b684e0bae01c491">ggl</a>
+<li>set_radius()
+: <a class="el" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">ggl</a>
+<li>simplify()
+: <a class="el" href="group__simplify.html#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>
+<li>sphere
+: <a class="el" href="namespaceggl.html#86293a2a12226b524f011818d22fbcaa">ggl</a>
+<li>sqr()
+: <a class="el" href="namespaceggl_1_1math.html#c23ed0ce6b779976def3d4b3d633d337">ggl::math</a>
+<li>subtract_point()
+: <a class="el" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9">ggl</a>
+<li>subtract_value()
+: <a class="el" href="group__arithmetic.html#g4672200cc86d998c5b6a1106fb423d80">ggl</a>
+<li>svg()
+: <a class="el" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>transform()
+: <a class="el" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500">ggl</a>
+<li>traverse()
+: <a class="el" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d">ggl</a>
+<li>two_pi
+: <a class="el" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">ggl::math</a>
+</ul>
+<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+<li>within()
+: <a class="el" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc">ggl</a>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_func.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_func.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,307 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>f</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>s</li>
+ <li>t</li>
+ <li>w</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+<li>adapt_turns()
+: <a class="el" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">ggl</a>
+<li>add_point()
+: <a class="el" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f">ggl</a>
+<li>add_value()
+: <a class="el" href="group__arithmetic.html#gf403c3bcfc0b66a4f708b6ea2890cadb">ggl</a>
+<li>append()
+: <a class="el" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c">ggl</a>
+<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>
+<li>assert_dimension()
+: <a class="el" href="group__utility.html#ga43456dff55af2757deaf0168f02b899">ggl</a>
+<li>assert_dimension_equal()
+: <a class="el" href="group__utility.html#g6af1781e9ae86e95302a6e9997549e95">ggl</a>
+<li>assert_dimension_greater_equal()
+: <a class="el" href="namespaceggl.html#c748276bc142deaad1ce28af84d4edf8">ggl</a>
+<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>
+<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_zero()
+: <a class="el" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>buffer()
+: <a class="el" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>centroid()
+: <a class="el" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd">ggl</a>
+<li>clear()
+: <a class="el" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f">ggl</a>
+<li>close_to_zero()
+: <a class="el" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098">ggl</a>
+<li>combine()
+: <a class="el" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199">ggl</a>
+<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>
+<li>copy_coordinates()
+: <a class="el" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011">ggl</a>
+<li>copy_segments()
+: <a class="el" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">ggl</a>
+<li>correct()
+: <a class="el" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>disjoint()
+: <a class="el" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1">ggl</a>
+<li>distance()
+: <a class="el" href="group__distance.html#g22a618786d2601e9201896a8346c161b">ggl</a>
+<li>divide_point()
+: <a class="el" href="group__arithmetic.html#g107f9a76ffac64805a1f0c93ce235da8">ggl</a>
+<li>divide_value()
+: <a class="el" href="group__arithmetic.html#g8eb0c9ae709c0b9a9e9de8cfd32f7ee8">ggl</a>
+<li>dot_product()
+: <a class="el" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556">ggl</a>
+<li>dsv()
+: <a class="el" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>enrich_intersection_points()
+: <a class="el" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3">ggl</a>
+<li>envelope()
+: <a class="el" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36">ggl</a>
+<li>equals()
+: <a class="el" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34">ggl::math</a>
+, <a class="el" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5">ggl</a>
+<li>exterior_ring()
+: <a class="el" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>for_each_coordinate()
+: <a class="el" href="namespaceggl.html#578a218a60843891321b599d222090db">ggl</a>
+<li>for_each_point()
+: <a class="el" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a">ggl</a>
+<li>for_each_point_multi_linestring()
+: <a class="el" href="namespaceggl.html#25386b22f7cdbb3f4cb1f39b5a454e79">ggl</a>
+<li>for_each_point_multi_point()
+: <a class="el" href="namespaceggl.html#583292e2af8b5e8c473c66032028924f">ggl</a>
+<li>for_each_point_multi_polygon()
+: <a class="el" href="namespaceggl.html#5d6800969a6bf28a35785e3c9eb5b0ea">ggl</a>
+<li>for_each_segment()
+: <a class="el" href="namespaceggl.html#326e05f4a599d0a732b4ee83ec9ea0cc">ggl</a>
+<li>for_each_segment_multi_linestring()
+: <a class="el" href="namespaceggl.html#6dd128fb1487f8b269d888721a10f23b">ggl</a>
+<li>for_each_segment_multi_polygon()
+: <a class="el" href="namespaceggl.html#c07b4972809b53d2720a357b57aa840b">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>get()
+: <a class="el" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">ggl</a>
+<li>get_as_radian()
+: <a class="el" href="group__access.html#g8923ef58b174aa129ba64465cbcf95b5">ggl</a>
+<li>get_intersection_points()
+: <a class="el" href="group__overlay.html#g402420dc15139d3893450978f30920b9">ggl</a>
+<li>get_radius()
+: <a class="el" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">ggl</a>
+<li>get_section()
+: <a class="el" href="group__sectionalize.html#g5c0732d32eb6c6154f615b3a3337f4b9">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>hav()
+: <a class="el" href="namespaceggl_1_1math.html#eda38de76b567b170a5c9cadbe660311">ggl::math</a>
+</ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>interior_rings()
+: <a class="el" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758">ggl</a>
+<li>intermediate()
+: <a class="el" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3">ggl</a>
+<li>intersection()
+: <a class="el" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5">ggl</a>
+<li>intersects()
+: <a class="el" href="group__overlay.html#g5e7b5d7c8e010077237751f3a6b289ec">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>length()
+: <a class="el" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa">ggl</a>
+<li>loop()
+: <a class="el" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>make()
+: <a class="el" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa">ggl</a>
+<li>make_buffer()
+: <a class="el" href="group__buffer.html#g86e90005b6d11abc10459e02e4f4ed22">ggl</a>
+<li>make_centroid()
+: <a class="el" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4">ggl</a>
+<li>make_distance_result()
+: <a class="el" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">ggl</a>
+<li>make_envelope()
+: <a class="el" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d">ggl</a>
+<li>make_inverse()
+: <a class="el" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911">ggl</a>
+<li>make_segment_iterator()
+: <a class="el" href="namespaceggl.html#be0f21b6c5bbffed69487d17fd970454">ggl</a>
+<li>make_zero()
+: <a class="el" href="group__access.html#gb6c00a38f2e98ba4d83a04da43368071">ggl</a>
+<li>merge_intersection_points()
+: <a class="el" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f">ggl</a>
+<li>multiply_point()
+: <a class="el" href="group__arithmetic.html#ge9b84ad59c960d6a6c8257446e1fc4c1">ggl</a>
+<li>multiply_value()
+: <a class="el" href="group__arithmetic.html#gfc95bf881239da6c1f64f5b8d63dbe9d">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+<li>num_interior_rings()
+: <a class="el" href="group__access.html#g0b185daa84fef7c96923751e087fbb21">ggl</a>
+<li>num_points()
+: <a class="el" href="group__access.html#g8d58faff2722b073b44c24f19577e267">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>operator!=()
+: <a class="el" href="namespaceggl.html#a69739049ea926bb41bd9c9ffdaba2a5">ggl</a>
+<li>operator==()
+: <a class="el" href="namespaceggl.html#82646d087871f2c3ac0f6daad6f6f3ba">ggl</a>
+<li>overlaps()
+: <a class="el" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>perimeter()
+: <a class="el" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>sectionalize()
+: <a class="el" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1">ggl</a>
+<li>selected()
+: <a class="el" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3">ggl</a>
+<li>set()
+: <a class="el" href="group__access.html#g6ced3f6383c5e664984c54a36a1d78a2">ggl</a>
+<li>set_from_radian()
+: <a class="el" href="group__access.html#g9fcd126a3429823c1b684e0bae01c491">ggl</a>
+<li>set_radius()
+: <a class="el" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">ggl</a>
+<li>simplify()
+: <a class="el" href="group__simplify.html#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>
+<li>sqr()
+: <a class="el" href="namespaceggl_1_1math.html#c23ed0ce6b779976def3d4b3d633d337">ggl::math</a>
+<li>subtract_point()
+: <a class="el" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9">ggl</a>
+<li>subtract_value()
+: <a class="el" href="group__arithmetic.html#g4672200cc86d998c5b6a1106fb423d80">ggl</a>
+<li>svg()
+: <a class="el" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>transform()
+: <a class="el" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500">ggl</a>
+<li>traverse()
+: <a class="el" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d">ggl</a>
+</ul>
+<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+<li>within()
+: <a class="el" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc">ggl</a>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_type.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,105 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">Typedefs</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>box_2d
+: <a class="el" href="namespaceggl.html#0d9610ad977d0764a37b8e9f6ca94b30">ggl</a>
+<li>box_3d
+: <a class="el" href="namespaceggl.html#246b6f132ae46d37ab627fe899ca1122">ggl</a>
+<li>circle
+: <a class="el" href="namespaceggl.html#311770c599e6440d3890b7ff4c651af6">ggl</a>
+<li>linestring_2d
+: <a class="el" href="namespaceggl.html#bd8e114c665e6cc6ea48e2e716eeedc2">ggl</a>
+<li>linestring_3d
+: <a class="el" href="namespaceggl.html#3d956a540f1e8dda3d3d7bf8ca1d9ccf">ggl</a>
+<li>point_2d
+: <a class="el" href="namespaceggl.html#440bc7037bbf1ba7118d6952d71b8e00">ggl</a>
+<li>point_3d
+: <a class="el" href="namespaceggl.html#e7ead8472c5368638be291071e4e2a38">ggl</a>
+<li>polygon_2d
+: <a class="el" href="namespaceggl.html#9b5c5324bc541d70c4ba3451be8a3365">ggl</a>
+<li>polygon_3d
+: <a class="el" href="namespaceggl.html#d83f4f521b6af4a82f6afb9af164305e">ggl</a>
+<li>ring_2d
+: <a class="el" href="namespaceggl.html#c40046fcbfc818fa12cc1e73e26e260b">ggl</a>
+<li>ring_3d
+: <a class="el" href="namespaceggl.html#fd5b225988bbf3d618978942a9e61b18">ggl</a>
+<li>segment_2d
+: <a class="el" href="namespaceggl.html#51ce3d75ac1988b5ed73cb3598da522b">ggl</a>
+<li>sphere
+: <a class="el" href="namespaceggl.html#86293a2a12226b524f011818d22fbcaa">ggl</a>
+</ul>
+</div>
+<hr size="1">
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_vars.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_vars.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,91 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">Variables</li>
+ <li>Typedefs</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>d2r
+: <a class="el" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">ggl::math</a>
+<li>max_corner
+: <a class="el" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">ggl</a>
+<li>min_corner
+: <a class="el" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">ggl</a>
+<li>pi
+: <a class="el" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">ggl::math</a>
+<li>r2d
+: <a class="el" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">ggl::math</a>
+<li>two_pi
+: <a class="el" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">ggl::math</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaces.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaces.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,89 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Namespace List</h1>Here is a list of all namespaces with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl.html">ggl</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1math.html">ggl::math</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1policies.html">ggl::policies</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">ggl::strategy::centroid</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1strategy_1_1compare.html">ggl::strategy::compare</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1strategy_1_1convex__hull.html">ggl::strategy::convex_hull</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1strategy_1_1intersection.html">ggl::strategy::intersection</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1strategy_1_1side.html">ggl::strategy::side</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">ggl::strategy::simplify</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a></td><td class="indexvalue"></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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/not_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/not_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/algorithms/detail/not.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/not_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/not_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,101 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/detail/not.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_ALGORITHMS_DETAIL_NOT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_DETAIL_NOT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="keyword">namespace </span>ggl
+<a name="l00013"></a>00013 {
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00017"></a>00017 {
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00030"></a>00030 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2, <span class="keyword">typename</span> Policy&gt;
+<a name="l00031"></a>00031 <span class="keyword">struct </span>not_
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Geometry1 <span class="keyword">const</span> &amp;geometry1, Geometry2 <span class="keyword">const</span>&amp; geometry2)
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keywordflow">return</span> ! Policy::apply(geometry1, geometry2);
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037 };
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 } <span class="comment">// namespace detail</span>
+<a name="l00041"></a>00041 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span>
+<a name="l00043"></a>00043 } <span class="comment">// namespace ggl</span>
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="preprocessor">#endif // GGL_ALGORITHMS_DETAIL_NOT_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/nsphere.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere&lt; P, T &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a>: defines a circle or a sphere: a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> with radius. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,183 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/nsphere.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_NSPHERE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_NSPHERE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="nsphere__concept_8hpp.html">ggl/core/concepts/nsphere_concept.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
+<a name="l00020"></a>00020 {
+<a name="l00021"></a>00021
+<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> T&gt;
+<a name="l00035"></a><a class="code" href="classggl_1_1nsphere.html">00035</a> <span class="keyword">class </span><a class="code" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;P&gt;</a>) );
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">public</span>:
+<a name="l00040"></a>00040
+<a name="l00041"></a><a class="code" href="classggl_1_1nsphere.html#9027e4f6129198cd158727edda7ee4eb">00041</a> <span class="keyword">typedef</span> T <a class="code" href="structggl_1_1radius__type.html">radius_type</a>;
+<a name="l00042"></a><a class="code" href="classggl_1_1nsphere.html#a3595c7d5427261600efdc0e37ded8bb">00042</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;P&gt;::type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
+<a name="l00043"></a>00043
+<a name="l00044"></a><a class="code" href="classggl_1_1nsphere.html#43ce9d06cc8e93f8be4e886e6f468fd6">00044</a> <a class="code" href="classggl_1_1nsphere.html#43ce9d06cc8e93f8be4e886e6f468fd6">nsphere</a>()
+<a name="l00045"></a>00045 : m_radius(0)
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 detail::assign::assign_value(m_center, <a class="code" href="classggl_1_1nsphere.html#a3595c7d5427261600efdc0e37ded8bb">coordinate_type</a>());
+<a name="l00048"></a>00048 }
+<a name="l00049"></a>00049
+<a name="l00050"></a><a class="code" href="classggl_1_1nsphere.html#61e86fe7d652555d72d024fdf1903ee6">00050</a> <a class="code" href="classggl_1_1nsphere.html#43ce9d06cc8e93f8be4e886e6f468fd6">nsphere</a>(P <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1nsphere.html#3f6b59190ffcbc30cbcac55073915674">center</a>, T <span class="keyword">const</span>&amp; <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="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>&amp; <a class="code" href="classggl_1_1nsphere.html#3f6b59190ffcbc30cbcac55073915674">center</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_center; }
+<a name="l00057"></a><a class="code" href="classggl_1_1nsphere.html#45501ded4a12c89b95598ca131fc1caa">00057</a> <span class="keyword">inline</span> T <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1nsphere.html#45501ded4a12c89b95598ca131fc1caa">radius</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_radius; }
+<a name="l00058"></a>00058
+<a name="l00059"></a><a class="code" href="classggl_1_1nsphere.html#7cedc453e69b1cd38276d4b906cc29f5">00059</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1nsphere.html#7cedc453e69b1cd38276d4b906cc29f5">radius</a>(T <span class="keyword">const</span>&amp; r) { m_radius = r; }
+<a name="l00060"></a><a class="code" href="classggl_1_1nsphere.html#8fd5bf72f746c27b7ca1514dc08813ac">00060</a> <span class="keyword">inline</span> P&amp; <a class="code" href="classggl_1_1nsphere.html#8fd5bf72f746c27b7ca1514dc08813ac">center</a>() { <span class="keywordflow">return</span> m_center; }
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">private</span>:
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 P m_center;
+<a name="l00065"></a>00065 T m_radius;
+<a name="l00066"></a>00066 };
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="comment">// Traits specializations for n-sphere above</span>
+<a name="l00069"></a>00069 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> T&gt;
+<a name="l00074"></a>00074 <span class="keyword">struct </span>tag&lt; nsphere&lt;P, T&gt; &gt;
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="keyword">typedef</span> nsphere_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00077"></a>00077 };
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> T&gt;
+<a name="l00080"></a>00080 <span class="keyword">struct </span>point_type&lt;nsphere&lt;P, T&gt; &gt;
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 <span class="keyword">typedef</span> P type;
+<a name="l00083"></a>00083 };
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> T&gt;
+<a name="l00086"></a>00086 <span class="keyword">struct </span>radius_type&lt;nsphere&lt;P, T&gt; &gt;
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="keyword">typedef</span> T type;
+<a name="l00089"></a>00089 };
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> T&gt;
+<a name="l00092"></a>00092 <span class="keyword">struct </span>access&lt;nsphere&lt;P, T&gt; &gt;
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 <span class="keyword">typedef</span> nsphere&lt;P, T&gt; nsphere_type;
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00097"></a>00097 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;nsphere_type&gt;::type</a> <span class="keyword">get</span>(nsphere_type <span class="keyword">const</span>&amp; s)
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 <span class="keywordflow">return</span> ggl::get&lt;D&gt;(s.center());
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00103"></a>00103 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(nsphere_type&amp; s, <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&lt;nsphere_type&gt;::type</a> <span class="keyword">const</span>&amp; value)
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 ggl::set&lt;D&gt;(s.center(), value);
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107 };
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> T&gt;
+<a name="l00110"></a>00110 <span class="keyword">struct </span>radius_access&lt;nsphere&lt;P, T&gt;, T, 0&gt;
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 <span class="keyword">typedef</span> nsphere&lt;P, T&gt; nsphere_type;
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(nsphere_type <span class="keyword">const</span>&amp; s)
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 <span class="keywordflow">return</span> s.radius();
+<a name="l00117"></a>00117 }
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(nsphere_type&amp; s, T <span class="keyword">const</span>&amp; value)
+<a name="l00120"></a>00120 {
+<a name="l00121"></a>00121 s.radius(value);
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123 };
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 } <span class="comment">// namespace traits</span>
+<a name="l00126"></a>00126 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00127"></a>00127 <span class="preprocessor"></span>
+<a name="l00128"></a>00128 } <span class="comment">// namespace ggl</span>
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <span class="preprocessor">#endif // GGL_GEOMETRIES_NSPHERE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,94 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/nsphere_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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ggl::concept::ConstNsphere&lt; S &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstNsphere&lt; S &gt;::dimension_checker&lt; D, N &gt;</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstNsphere&lt; S &gt;::dimension_checker&lt; N, N &gt;</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_nsphere.html">ggl::concept::Nsphere&lt; S &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::Nsphere&lt; S &gt;::dimension_checker&lt; D, N &gt;</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::Nsphere&lt; S &gt;::dimension_checker&lt; N, N &gt;</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,170 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/nsphere_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<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_CORE_CONCEPTS_NSPHERE_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CONCEPTS_NSPHERE_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="radius_8hpp.html">ggl/core/radius.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00019"></a>00019
+<a name="l00026"></a>00026 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00027"></a><a class="code" href="structggl_1_1concept_1_1_const_nsphere.html">00027</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_const_nsphere.html" title="Checks Nsphere concept (const version).">ConstNsphere</a>
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029 <span class="keyword">private</span> :
+<a name="l00030"></a>00030 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;S&gt;::type</a> P;
+<a name="l00031"></a>00031 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1radius__type.html">radius_type&lt;S&gt;::type</a> R;
+<a name="l00032"></a>00032
+<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00035"></a>00035 <span class="keyword">struct </span>dimension_checker
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;S&gt;::type</a> T;
+<a name="l00040"></a>00040 <span class="keyword">const</span> S* s = 0;
+<a name="l00041"></a>00041 T coord(ggl::get&lt;D&gt;(*s));
+<a name="l00042"></a>00042 (void)<span class="keyword">sizeof</span>(coord); <span class="comment">// To avoid "unused variable" warnings</span>
+<a name="l00043"></a>00043 dimension_checker&lt;D + 1, N&gt;::check();
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> N&gt;
+<a name="l00048"></a>00048 <span class="keyword">struct </span>dimension_checker&lt;N, N&gt;
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
+<a name="l00051"></a>00051 };
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">public</span> :
+<a name="l00055"></a><a class="code" href="structggl_1_1concept_1_1_const_nsphere.html#cf6dfbdf9c9bceab4e3b481b95f1fb11">00055</a> <a class="code" href="structggl_1_1concept_1_1_const_nsphere.html#cf6dfbdf9c9bceab4e3b481b95f1fb11" title="BCCL macro to check the ConstNsphere concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_nsphere.html" title="Checks Nsphere concept (const version).">ConstNsphere</a>)
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;S&gt;::value</a>;
+<a name="l00058"></a>00058 dimension_checker&lt;0, N&gt;::check();
+<a name="l00059"></a>00059 dimension_checker&lt;0, N&gt;::check();
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="comment">// Check radius access</span>
+<a name="l00062"></a>00062 <span class="keyword">const</span> S* s = 0;
+<a name="l00063"></a>00063 R coord(ggl::get_radius&lt;0&gt;(*s));
+<a name="l00064"></a>00064 (void)<span class="keyword">sizeof</span>(coord); <span class="comment">// To avoid "unused variable" warnings</span>
+<a name="l00065"></a>00065 }
+<a name="l00066"></a>00066 };
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068
+<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00074"></a><a class="code" href="structggl_1_1concept_1_1_nsphere.html">00074</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a>
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="keyword">private</span> :
+<a name="l00077"></a>00077 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_nsphere.html" title="Checks Nsphere concept (const version).">concept::ConstNsphere&lt;S&gt;</a>) );
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;S&gt;::type</a> P;
+<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1radius__type.html">radius_type&lt;S&gt;::type</a> R;
+<a name="l00081"></a>00081
+<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00084"></a>00084 <span class="keyword">struct </span>dimension_checker
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 S* s;
+<a name="l00089"></a>00089 ggl::set&lt;D&gt;(*s, ggl::get&lt;D&gt;(*s));
+<a name="l00090"></a>00090 dimension_checker&lt;D + 1, N&gt;::check();
+<a name="l00091"></a>00091 }
+<a name="l00092"></a>00092 };
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> N&gt;
+<a name="l00095"></a>00095 <span class="keyword">struct </span>dimension_checker&lt;N, N&gt;
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
+<a name="l00098"></a>00098 };
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">public</span> :
+<a name="l00102"></a><a class="code" href="structggl_1_1concept_1_1_nsphere.html#f7a6ea630944b84202eed0a9de90cff4">00102</a> <a class="code" href="structggl_1_1concept_1_1_nsphere.html#f7a6ea630944b84202eed0a9de90cff4" title="BCCL macro to check the Nsphere concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a>)
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;S&gt;::value</a>;
+<a name="l00105"></a>00105 dimension_checker&lt;0, N&gt;::check();
+<a name="l00106"></a>00106 dimension_checker&lt;0, N&gt;::check();
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="comment">// Check radius access</span>
+<a name="l00109"></a>00109 S* s = 0;
+<a name="l00110"></a>00110 set_radius&lt;0&gt;(*s, get_radius&lt;0&gt;(*s));
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113 };
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="preprocessor">#endif // GGL_CORE_CONCEPTS_NSPHERE_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ogc.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ogc.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,89 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1><a class="anchor" name="OGC">OGC (Open Geospatial Consortium) </a></h1>OGC is the Open Geospatial Consortium, the standardization committee on Geospatial Interoperability and GIS (Geographical Information Systems). OGC geometries are used in many environments and databases.<p>
+The Generic Geometry Library uses OGC conventions for algorithms and for geometry type names. Note that though OGC is concentrating on GIS, the conventions followed here are 'geometry only', the so-called 'simple features' (simple in the sense that polygons are not allowed to have self-intersections).<p>
+OGC specifies a library based on inheritance, as opposed to this library, which is a generic template based library where data classes are separated from the algorithms. Therefore this library is not an OGC implementation in the strict sense.<h2><a class="anchor" name="Classes">
+Classes</a></h2>
+OGC defines the following geometry classes, which are implemented as concepts (and as geometries) the Generic Geometry Library:<ul>
+<li><a class="el" href="classggl_1_1point.html">point</a>: a point. The point defined here is dimensionally agnostic. Library users does not have to use this point, they might also use their own points as long as it meets the concepts.</li><li><a class="el" href="classggl_1_1linestring.html">linestring</a>: Sequence of point values with linear interpolation between points. Note that library users does not have to use this type. Algorithms works on iterators, so all algorithms also accept iterators on a vector (or other container) of points.</li><li><a class="el" href="classggl_1_1linear__ring.html">linear_ring</a>: Sequence of point values with linear interpolation between points, which is closed and not self-intersecting</li><li><a class="el" href="classggl_1_1polygon.html">polygon</a>: Plane figure, consisting of an outer ring and zero or more inner rings. So basically a polygon which might have holes. <em>Note that this definition is different from several other polygon definitions and libraries, where p
olygons are not allowed to have holes. These polygons are comparable to the linear_ring above</em></li></ul>
+<p>
+The following geometries were in the first preview, because they are defined in OGC, but not in the current preview (they will be added again).<ul>
+<li><b>multi_point:</b> collection of points</li><li><b>multi_linestring:</b> collection of linestrings</li><li><b>multi_polygon:</b> collection of polygons</li></ul>
+<p>
+The naming of these classes is used in:<ul>
+<li>WKT (Well-Known Text)</li><li>KML (Google Maps)</li><li>GML</li><li>many GIS/geometry libraries</li></ul>
+<p>
+and in many databases:<ul>
+<li>Oracle Spatial</li><li>SQL Server 2008</li><li>PostGreSQL</li><li>MySQL</li><li>MonetDB</li></ul>
+<p>
+Besides this the Generic Geometry Library provides the following additional classes:<ul>
+<li><a class="el" href="classggl_1_1box.html">box</a>: Box, used for selections and for envelopes (bounding boxes)</li><li><a class="el" href="classggl_1_1nsphere.html">n-sphere</a>, meaning circle" and "sphere". Circle is convenient for selections</li><li><a class="el" href="structggl_1_1segment.html">segment</a>: Segment, helper class, used for e.g. intersections</li></ul>
+<h2><a class="anchor" name="Algorithms">
+Algorithms</a></h2>
+The Generic Geometry Library implements the following OGC algorithms, which are applicable to most or all geometries<ul>
+<li><b>area:</b> Returns the area of surface-geometries</li><li><b>as_text:</b> Represents the geometry as a Well Known Text (named "wkt")</li><li><b>centroid:</b> Returns a point geometry: the centroid on surface-geometries</li><li><b>convex_hull:</b> Returns true if the geometry is simple (doesn't intersect itself)</li><li><b>coordinate_dimension:</b> Returns the number of geometry coordinate values</li><li><b>distance:</b> Returns the distance between two geometries</li><li><b>envelope:</b> Returns the bounding box of a geometry</li><li><b>intersection:</b> Returns a geometry containing the intersection between two geometries (currently only with boxes)</li><li><b>length:</b> Returns the length of curve-type geometries</li><li><b>num_points:</b> Returns the number of points</li><li><b>topological_dimension:</b> Returns the topological dimension</li><li><b>within:</b> Returns true if one geometry falls completely within another geometry</li></ul>
+<p>
+Readers might notice that many OGC algorithms, especially the more complex ones, are not yet implemented and that is true. Much work has been done on the generic structure of the library, algorithms still have to be worked on. On the other hand many algorithms are implemented for different coordinate systems (distance is implemented using four strategies: Pythagoras, Andoyer, Vincenty and haversine, there is the "spherical polygon area").<h2><a class="anchor" name="Differences">
+Differences</a></h2>
+The Generic Geometry Library does not implement the OGC Simple Feature interface exactly and completely. There are many differences. Below the most important differences are listed.<ul>
+<li>In OGC all operations are class methods. The Generic Geometry Library is a template library and defines the algorithms as generic functions.</li><li>In OGC a point is defined by an x-coordinate value, a y-coordinate value and possibly a z-coordinate value and a measured value. In the Generic Geometry Library the basic point defines coordinates in a neutral way, so there is no x, no y.</li><li>in OGC all geometries have additional members, such as SRID, measured. These properties are not defined in the Generic Geometry Library. Library users can implement them, if necessary, in derived classes.</li><li>In OGC the envelope returns a geometry, in the Generic Geometry Library it returns a box</li><li>The OGC algorithm asText is named "wkt" and to stream manipulators in streamwkt</li></ul>
+<p>
+More information on OGC can be found on their website, http://www.opengeospatial.org and on Wikipedia http://en.wikipedia.org/wiki/Open_Geospatial_Consortium </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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/output_main.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlaps.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 &nbsp;</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&lt;typename B &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c">ggl::overlaps</a> (const B &amp;b1, const B &amp;b2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines overlap between two geometries. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,97 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlaps.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_ALGORITHMS_OVERLAPS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_OVERLAPS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="keyword">namespace </span>ggl
+<a name="l00016"></a>00016 {
+<a name="l00017"></a>00017
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B&gt;
+<a name="l00036"></a><a class="code" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c">00036</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c" title="Determines overlap between two geometries.">overlaps</a>(<span class="keyword">const</span> B&amp; b1, <span class="keyword">const</span> B&amp; b2)
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keywordflow">return</span> !(
+<a name="l00039"></a>00039 get&lt;max_corner, 0&gt;(b1) &lt;= get&lt;min_corner, 0&gt;(b2) ||
+<a name="l00040"></a>00040 get&lt;min_corner, 0&gt;(b1) &gt;= get&lt;max_corner, 0&gt;(b2) ||
+<a name="l00041"></a>00041 get&lt;max_corner, 1&gt;(b1) &lt;= get&lt;min_corner, 1&gt;(b2) ||
+<a name="l00042"></a>00042 get&lt;min_corner, 1&gt;(b1) &gt;= get&lt;max_corner, 1&gt;(b2)
+<a name="l00043"></a>00043 );
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 } <span class="comment">// namespace ggl</span>
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAPS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/pages.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/pages.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Related Pages</h1>Here is a list of all related documentation pages:<ul>
+<li><a class="el" href="design.html">Design rationale</a>
+
+<li><a class="el" href="concepts.html">Concepts</a>
+
+<li><a class="el" href="compiling.html">Compiling</a>
+
+<li><a class="el" href="performance.html">Performance</a>
+
+<li><a class="el" href="dsv.html">DSV (Delimiter Separated Values)</a>
+
+<li><a class="el" href="ogc.html">OGC (Open Geospatial Consortium)</a>
+
+<li><a class="el" href="status.html">Status and preview</a>
+
+<li><a class="el" href="download.html">Download the Generic Geometry Library</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/performance.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/performance.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,67 @@
+<!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">
+&nbsp;&nbsp;
+</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 class="current">Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1><a class="anchor" name="performance">Performance </a></h1><h2><a class="anchor" name="performance_comparison">
+Performance results</a></h2>
+The performance has been tested for some algorithms and it seems that the Generic Geometry Library performs well, indicating that the template-based approach and consequent usage of inline functions and the std:: library is a sound approach. Measurements and comparisons (still in concept) are here: http://trac.osgeo.org/ggl/wiki/Performance<h2><a class="anchor" name="performance-notes">
+Performance notes</a></h2>
+In the page about compiling the library there are some hints provided which might improve the performance.<p>
+Furthermore it is important to realize that if you're about to do calculations with two geometries, for example a point-in-polygon or an intersection, it is very useful to first calculate and store all bounding boxes (envelopes), and then before doing a point-in-polygon check if the point is in the bounding box. Checking if a point is within a box is of course much faster than visiting all vertices of a polygon.<p>
+The storage of bounding boxes is, on purpose, not done within the library because it would break the possibility to use standard vectors of points for linestrings or rings. The library might get a traits system in the future where geometries might tell their boundaries to the algorithms, this however would be an optional system. </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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/point.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point.html">ggl::point&lt; T, D, C &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,180 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/point.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_POINT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_POINT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/mpl/int.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/static_assert.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__system_8hpp.html">ggl/core/coordinate_system.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</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>&lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> C&gt;
+<a name="l00034"></a><a class="code" href="classggl_1_1point.html">00034</a> <span class="keyword">class </span><a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 <span class="keyword">public</span>:
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="comment">// Concept typedefs and members</span>
+<a name="l00039"></a><a class="code" href="classggl_1_1point.html#114e475fd2f5f30fac7f60ef732dd402">00039</a> <span class="keyword">typedef</span> T <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="l00040"></a><a class="code" href="classggl_1_1point.html#e3cedeca07933bd026e910ee8bb4547b">00040</a> <span class="keyword">typedef</span> C <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system</a>;
+<a name="l00041"></a>00041
+<a name="l00042"></a><a class="code" href="classggl_1_1point.html#b25e04c9eb7bf3dbc6ee17a27423e7d6">00042</a> <span class="keyword">static</span> <span class="keyword">const</span> std::size_t <a class="code" href="classggl_1_1point.html#b25e04c9eb7bf3dbc6ee17a27423e7d6">coordinate_count</a> = D;
+<a name="l00043"></a>00043
+<a name="l00045"></a><a class="code" href="classggl_1_1point.html#526fb447a893414486fa85caa170cdbf">00045</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1point.html#526fb447a893414486fa85caa170cdbf" title="Default constructor, no initialization at all.">point</a>()
+<a name="l00046"></a>00046 {}
+<a name="l00047"></a>00047
+<a name="l00049"></a><a class="code" href="classggl_1_1point.html#18fecbb13a7e7fe65b42ee624a7b6834">00049</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1point.html#526fb447a893414486fa85caa170cdbf" title="Default constructor, no initialization at all.">point</a>(T <span class="keyword">const</span>&amp; v0, T <span class="keyword">const</span>&amp; v1 = 0, T <span class="keyword">const</span>&amp; v2 = 0)
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 <span class="keywordflow">if</span> (D &gt;= 1) m_values[0] = v0;
+<a name="l00052"></a>00052 <span class="keywordflow">if</span> (D &gt;= 2) m_values[1] = v1;
+<a name="l00053"></a>00053 <span class="keywordflow">if</span> (D &gt;= 3) m_values[2] = v2;
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> K&gt;
+<a name="l00059"></a><a class="code" href="classggl_1_1point.html#1feea795639ff3f2d985cc9ca32d2f9e">00059</a> <span class="keyword">inline</span> T <span class="keyword">const</span>&amp; <span class="keyword">get</span>() <span class="keyword">const</span>
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 BOOST_STATIC_ASSERT(K &lt; D);
+<a name="l00062"></a>00062 <span class="keywordflow">return</span> m_values[K];
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> K&gt;
+<a name="l00066"></a><a class="code" href="classggl_1_1point.html#f84fee80a5505841b275b1c3f9bc7ddf">00066</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(T value)
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 BOOST_STATIC_ASSERT(K &lt; D);
+<a name="l00069"></a>00069 m_values[K] = value;
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keyword">private</span>:
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 T m_values[D];
+<a name="l00076"></a>00076 };
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="comment">// Adapt the point to the concept</span>
+<a name="l00080"></a>00080 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> C&gt;
+<a name="l00084"></a>00084 <span class="keyword">struct </span>tag&lt;point&lt;T, D, C&gt; &gt;
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keyword">typedef</span> point_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00087"></a>00087 };
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> C&gt;
+<a name="l00090"></a>00090 <span class="keyword">struct </span>coordinate_type&lt;point&lt;T, D, C&gt; &gt;
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <span class="keyword">typedef</span> T type;
+<a name="l00093"></a>00093 };
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> C&gt;
+<a name="l00096"></a>00096 <span class="keyword">struct </span>coordinate_system&lt;point&lt;T, D, C&gt; &gt;
+<a name="l00097"></a>00097 {
+<a name="l00098"></a>00098 <span class="keyword">typedef</span> C type;
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> C&gt;
+<a name="l00102"></a>00102 <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;point&lt;T, D, C&gt; &gt; : boost::mpl::int_&lt;D&gt; {};
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> C&gt;
+<a name="l00105"></a>00105 <span class="keyword">struct </span>access&lt;point&lt;T, D, C&gt; &gt;
+<a name="l00106"></a>00106 {
+<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I&gt;
+<a name="l00108"></a>00108 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(point&lt;T, D, C&gt; <span class="keyword">const</span>&amp; p)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 <span class="keywordflow">return</span> p.template get&lt;I&gt;();
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I&gt;
+<a name="l00114"></a>00114 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(point&lt;T, D, C&gt;&amp; p, T <span class="keyword">const</span>&amp; value)
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 p.template set&lt;I&gt;(value);
+<a name="l00117"></a>00117 }
+<a name="l00118"></a>00118 };
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 } <span class="comment">// namespace traits</span>
+<a name="l00121"></a>00121 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00122"></a>00122 <span class="preprocessor"></span>
+<a name="l00123"></a>00123 } <span class="comment">// namespace ggl</span>
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="preprocessor">#endif // GGL_GEOMETRIES_POINT_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,96 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/point_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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint&lt; X &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstPoint&lt; X &gt;::dimension_checker&lt; P, I, Count &gt;</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstPoint&lt; X &gt;::dimension_checker&lt; P, Count, Count &gt;</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point.html">ggl::concept::Point&lt; X &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::Point&lt; X &gt;::dimension_checker&lt; P, I, Count &gt;</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::Point&lt; X &gt;::dimension_checker&lt; P, Count, Count &gt;</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,162 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/point_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library Point concept</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<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_CORE_CONCEPTS_POINT_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CONCEPTS_POINT_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__system_8hpp.html">ggl/core/coordinate_system.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00028"></a>00028
+<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> X&gt;
+<a name="l00061"></a><a class="code" href="structggl_1_1concept_1_1_point.html">00061</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">Point</a>
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keyword">private</span>:
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;X&gt;::type</a> ctype;
+<a name="l00066"></a>00066 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system&lt;X&gt;::type</a> csystem;
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="keyword">enum</span> { ccount = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;X&gt;::value</a> };
+<a name="l00069"></a>00069
+<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> Count&gt;
+<a name="l00072"></a>00072 <span class="keyword">struct </span>dimension_checker
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 P* p;
+<a name="l00077"></a>00077 ggl::set&lt;I&gt;(*p, ggl::get&lt;I&gt;(*p));
+<a name="l00078"></a>00078 dimension_checker&lt;P, I+1, Count&gt;::check();
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 };
+<a name="l00081"></a>00081
+<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> Count&gt;
+<a name="l00084"></a>00084 <span class="keyword">struct </span>dimension_checker&lt;P, Count, Count&gt;
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
+<a name="l00087"></a>00087 };
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">public</span>:
+<a name="l00090"></a>00090
+<a name="l00092"></a><a class="code" href="structggl_1_1concept_1_1_point.html#59ab6c36bc854b94ee2404d084605f7b">00092</a> <a class="code" href="structggl_1_1concept_1_1_point.html#59ab6c36bc854b94ee2404d084605f7b" title="BCCL macro to check the Point concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">Point</a>)
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 dimension_checker&lt;X, 0, ccount&gt;::check();
+<a name="l00095"></a>00095 }
+<a name="l00096"></a>00096 };
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098
+<a name="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> X&gt;
+<a name="l00106"></a><a class="code" href="structggl_1_1concept_1_1_const_point.html">00106</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a>
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="keyword">private</span>:
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;X&gt;::type</a> ctype;
+<a name="l00111"></a>00111 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system&lt;X&gt;::type</a> csystem;
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="keyword">enum</span> { ccount = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;X&gt;::value</a> };
+<a name="l00114"></a>00114
+<a name="l00116"></a>00116 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> Count&gt;
+<a name="l00117"></a>00117 <span class="keyword">struct </span>dimension_checker
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
+<a name="l00120"></a>00120 {
+<a name="l00121"></a>00121 <span class="keyword">const</span> P* p = 0;
+<a name="l00122"></a>00122 ctype coord(ggl::get&lt;I&gt;(*p));
+<a name="l00123"></a>00123 boost::ignore_unused_variable_warning(coord);
+<a name="l00124"></a>00124 dimension_checker&lt;P, I+1, Count&gt;::check();
+<a name="l00125"></a>00125 }
+<a name="l00126"></a>00126 };
+<a name="l00127"></a>00127
+<a name="l00129"></a>00129 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> Count&gt;
+<a name="l00130"></a>00130 <span class="keyword">struct </span>dimension_checker&lt;P, Count, Count&gt;
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
+<a name="l00133"></a>00133 };
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keyword">public</span>:
+<a name="l00136"></a>00136
+<a name="l00138"></a><a class="code" href="structggl_1_1concept_1_1_const_point.html#4fa25bd423c491516e0453c2aad75a0a">00138</a> <a class="code" href="structggl_1_1concept_1_1_const_point.html#4fa25bd423c491516e0453c2aad75a0a" title="BCCL macro to check the ConstPoint concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a>)
+<a name="l00139"></a>00139 {
+<a name="l00140"></a>00140 dimension_checker&lt;X, 0, ccount&gt;::check();
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142 };
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="preprocessor">#endif // GGL_CORE_CONCEPTS_POINT_CONCEPT_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__xy_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__xy_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/point_xy.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point__xy.html">ggl::point_xy&lt; T, C &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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 More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__xy_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__xy_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,162 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/point_xy.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_POINT_XY_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_POINT_XY_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/mpl/int.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="point_8hpp.html">ggl/geometries/point.hpp</a>&gt;</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="l00027"></a>00027 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> C = cs::cartesian&gt;
+<a name="l00028"></a><a class="code" href="classggl_1_1point__xy.html">00028</a> <span class="keyword">class </span><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> : <span class="keyword">public</span> <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>&lt;T, 2, C&gt;
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">public</span>:
+<a name="l00031"></a>00031
+<a name="l00033"></a><a class="code" href="classggl_1_1point__xy.html#1accd1e9e84fdf9cf8d9da084d239167">00033</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1point__xy.html#1accd1e9e84fdf9cf8d9da084d239167" title="Default constructor, does not initialize anything.">point_xy</a>() : <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>&lt;T, 2, C&gt;() {}
+<a name="l00034"></a>00034
+<a name="l00036"></a><a class="code" href="classggl_1_1point__xy.html#844ec61e1186e2bb423a26c01e9a72d6">00036</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1point__xy.html#844ec61e1186e2bb423a26c01e9a72d6" title="Constructor with x/y values.">point_xy</a>(T <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272" title="Get x-value.">x</a>, T <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f" title="Get y-value.">y</a>) : <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>&lt;T, 2, C&gt;(x, y) {}
+<a name="l00037"></a>00037
+<a name="l00039"></a><a class="code" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272">00039</a> <span class="keyword">inline</span> T <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272" title="Get x-value.">x</a>()<span class="keyword"> const</span>
+<a name="l00040"></a>00040 <span class="keyword"> </span>{ <span class="keywordflow">return</span> this-&gt;<span class="keyword">template</span> get&lt;0&gt;(); }
+<a name="l00041"></a>00041
+<a name="l00043"></a><a class="code" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f">00043</a> <span class="keyword">inline</span> T <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f" title="Get y-value.">y</a>()<span class="keyword"> const</span>
+<a name="l00044"></a>00044 <span class="keyword"> </span>{ <span class="keywordflow">return</span> this-&gt;<span class="keyword">template</span> get&lt;1&gt;(); }
+<a name="l00045"></a>00045
+<a name="l00047"></a><a class="code" href="classggl_1_1point__xy.html#b5fc7b83537aea3f46dffd562aea0bbf">00047</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272" title="Get x-value.">x</a>(T <span class="keyword">const</span>&amp; v)
+<a name="l00048"></a>00048 { this-&gt;<span class="keyword">template</span> set&lt;0&gt;(v); }
+<a name="l00049"></a>00049
+<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>&amp; v)
+<a name="l00052"></a>00052 { this-&gt;<span class="keyword">template</span> set&lt;1&gt;(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&lt;</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>&amp; 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>() &lt; 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>() &lt; other.<a class="code" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272" title="Get x-value.">x</a>();
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 };
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="comment">// Adapt the point_xy to the concept</span>
+<a name="l00063"></a>00063 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00065"></a>00065 {
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> C&gt;
+<a name="l00068"></a>00068 <span class="keyword">struct </span>tag&lt;point_xy&lt;T, C&gt; &gt;
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <span class="keyword">typedef</span> point_tag type;
+<a name="l00071"></a>00071 };
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> C&gt;
+<a name="l00074"></a>00074 <span class="keyword">struct </span>coordinate_type&lt;point_xy&lt;T, C&gt; &gt;
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="keyword">typedef</span> T <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">type</a>;
+<a name="l00077"></a>00077 };
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> C&gt;
+<a name="l00080"></a>00080 <span class="keyword">struct </span>coordinate_system&lt;point_xy&lt;T, C&gt; &gt;
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 <span class="keyword">typedef</span> C <a class="code" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">type</a>;
+<a name="l00083"></a>00083 };
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> C&gt;
+<a name="l00086"></a>00086 <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;point_xy&lt;T, C&gt; &gt; : boost::mpl::int_&lt;2&gt; {};
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> C&gt;
+<a name="l00089"></a>00089 <span class="keyword">struct </span>access&lt;point_xy&lt;T, C&gt; &gt;
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I&gt;
+<a name="l00092"></a>00092 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(point_xy&lt;T, C&gt; <span class="keyword">const</span>&amp; p)
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 <span class="keywordflow">return</span> p.template get&lt;I&gt;();
+<a name="l00095"></a>00095 }
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I&gt;
+<a name="l00098"></a>00098 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(point_xy&lt;T, C&gt;&amp; p, T <span class="keyword">const</span>&amp; value)
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100 p.template set&lt;I&gt;(value);
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102 };
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 } <span class="comment">// namespace traits</span>
+<a name="l00105"></a>00105 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00106"></a>00106 <span class="preprocessor"></span>
+<a name="l00107"></a>00107 } <span class="comment">// namespace ggl</span>
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="preprocessor">#endif // GGL_GEOMETRIES_POINT_XY_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/polygon.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html">ggl::polygon&lt; Point, PointList, RingList, PointAlloc, RingAlloc &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,232 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/polygon.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_POLYGON_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_POLYGON_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;memory&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/concept/assert.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="linear__ring_8hpp.html">ggl/geometries/linear_ring.hpp</a>&gt;</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="l00038"></a>00038 <span class="keyword">template</span>
+<a name="l00039"></a>00039 &lt;
+<a name="l00040"></a>00040 <span class="keyword">typename</span> Point,
+<a name="l00041"></a>00041 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <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>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingList = std::vector,
+<a name="l00043"></a>00043 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>PointAlloc = std::allocator,
+<a name="l00044"></a>00044 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingAlloc = std::allocator
+<a name="l00045"></a>00045 &gt;
+<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&lt;Point&gt;</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&lt;Point, PointList, PointAlloc&gt;</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&lt;ring_type , RingAlloc&lt;ring_type &gt; &gt; <a class="code" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a>;
+<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>&amp; <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>&amp; <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>&amp; <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> &amp; <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="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="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keyword">template</span>
+<a name="l00082"></a>00082 &lt;
+<a name="l00083"></a>00083 <span class="keyword">typename</span> Point,
+<a name="l00084"></a>00084 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <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>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingList,
+<a name="l00086"></a>00086 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>PointAlloc,
+<a name="l00087"></a>00087 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingAlloc
+<a name="l00088"></a>00088 &gt;
+<a name="l00089"></a>00089 <span class="keyword">struct </span>tag&lt;polygon&lt;Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc&gt; &gt;
+<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 &lt;
+<a name="l00096"></a>00096 <span class="keyword">typename</span> Point,
+<a name="l00097"></a>00097 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <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>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingList,
+<a name="l00099"></a>00099 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>PointAlloc,
+<a name="l00100"></a>00100 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingAlloc
+<a name="l00101"></a>00101 &gt;
+<a name="l00102"></a>00102 <span class="keyword">struct </span>ring_type&lt;polygon&lt;Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc&gt; &gt;
+<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 &lt;
+<a name="l00106"></a>00106 Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc
+<a name="l00107"></a>00107 &gt;::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 &lt;
+<a name="l00112"></a>00112 <span class="keyword">typename</span> Point,
+<a name="l00113"></a>00113 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <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>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingList,
+<a name="l00115"></a>00115 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>PointAlloc,
+<a name="l00116"></a>00116 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingAlloc
+<a name="l00117"></a>00117 &gt;
+<a name="l00118"></a>00118 <span class="keyword">struct </span>interior_type&lt; polygon&lt;Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc&gt; &gt;
+<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 &lt;
+<a name="l00122"></a>00122 Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc
+<a name="l00123"></a>00123 &gt;::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 &lt;
+<a name="l00128"></a>00128 <span class="keyword">typename</span> Point,
+<a name="l00129"></a>00129 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <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>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingList,
+<a name="l00131"></a>00131 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>PointAlloc,
+<a name="l00132"></a>00132 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingAlloc
+<a name="l00133"></a>00133 &gt;
+<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>&lt; polygon&lt;Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc&gt; &gt;
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 <span class="keyword">typedef</span> polygon&lt;Point, PointList, RingList, PointAlloc, RingAlloc&gt; 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&amp; <span class="keyword">get</span>(polygon_type&amp; 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> &amp; <span class="keyword">get</span>(polygon_type <span class="keyword">const</span>&amp; 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 &lt;
+<a name="l00151"></a>00151 <span class="keyword">typename</span> Point,
+<a name="l00152"></a>00152 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <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>&lt;<span class="keyword">typename</span>, <span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingList,
+<a name="l00154"></a>00154 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>PointAlloc,
+<a name="l00155"></a>00155 <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>RingAlloc
+<a name="l00156"></a>00156 &gt;
+<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>&lt; polygon&lt;Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc&gt; &gt;
+<a name="l00158"></a>00158 {
+<a name="l00159"></a>00159 <span class="keyword">typedef</span> polygon&lt;Point, PointList, RingList, PointAlloc, RingAlloc&gt; 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&amp; <span class="keyword">get</span>(
+<a name="l00162"></a>00162 polygon_type&amp; 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>&amp; <span class="keyword">get</span>(
+<a name="l00168"></a>00168 polygon_type <span class="keyword">const</span>&amp; 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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/polygon_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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,173 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/polygon_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<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_CORE_CONCEPTS_POLYGON_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CONCEPTS_POLYGON_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/concepts.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="append_8hpp.html">ggl/algorithms/append.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="clear_8hpp.html">ggl/algorithms/clear.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="ring__concept_8hpp.html">ggl/core/concepts/ring_concept.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00033"></a>00033 <span class="keyword">struct </span>PolygonChecker
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;P&gt;::type PNT;
+<a name="l00036"></a>00036 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P&gt;::type R;
+<a name="l00037"></a>00037 <span class="keyword">typedef</span> <span class="keyword">typename</span> interior_type&lt;P&gt;::type I;
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;I&gt;) );
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keywordtype">void</span> constraints()
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 P* poly;
+<a name="l00044"></a>00044 R&amp; e = <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*poly);
+<a name="l00045"></a>00045 <span class="keyword">const</span> R&amp; ce = <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*poly);
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 I&amp; i = <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(*poly);
+<a name="l00048"></a>00048 <span class="keyword">const</span> I&amp; ci = <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(*poly);
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 boost::ignore_unused_variable_warning(e);
+<a name="l00051"></a>00051 boost::ignore_unused_variable_warning(ce);
+<a name="l00052"></a>00052 boost::ignore_unused_variable_warning(i);
+<a name="l00053"></a>00053 boost::ignore_unused_variable_warning(ci);
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055 };
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 } <span class="comment">// namespace detail</span>
+<a name="l00058"></a>00058 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00059"></a>00059 <span class="preprocessor"></span>
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00065"></a><a class="code" href="structggl_1_1concept_1_1_polygon.html">00065</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> : detail::PolygonChecker&lt;P&gt;
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keyword">private</span>:
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;P&gt;::type</a> PNT;
+<a name="l00070"></a>00070 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type&lt;P&gt;::type</a> R;
+<a name="l00071"></a>00071 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type&lt;P&gt;::type</a> I;
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;PNT&gt;</a>) );
+<a name="l00074"></a>00074 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">concept::Ring&lt;R&gt;</a>) );
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">public</span>:
+<a name="l00077"></a>00077
+<a name="l00079"></a><a class="code" href="structggl_1_1concept_1_1_polygon.html#69581c3daae416341fbe72829f567278">00079</a> <a class="code" href="structggl_1_1concept_1_1_polygon.html#69581c3daae416341fbe72829f567278" title="BCCL macro to check the Polygon concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a>)
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="comment">// Check if it can be modified</span>
+<a name="l00082"></a>00082 P* poly;
+<a name="l00083"></a>00083 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>(*poly);
+<a name="l00084"></a>00084 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(*poly, PNT());
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 this-&gt;constraints();
+<a name="l00087"></a>00087 }
+<a name="l00088"></a>00088 };
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090
+<a name="l00097"></a>00097 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00098"></a><a class="code" href="structggl_1_1concept_1_1_const_polygon.html">00098</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_const_polygon.html" title="Checks Polygon concept (const version).">ConstPolygon</a> : detail::PolygonChecker&lt;P&gt;
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100 <span class="keyword">private</span>:
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;P&gt;::type</a> PNT;
+<a name="l00103"></a>00103 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type&lt;P&gt;::type</a> R;
+<a name="l00104"></a>00104 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type&lt;P&gt;::type</a> I;
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint&lt;PNT&gt;</a>) );
+<a name="l00107"></a>00107 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_ring.html" title="Checks (linear) ring concept (const version).">concept::ConstRing&lt;R&gt;</a>) );
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="keyword">public</span>:
+<a name="l00110"></a>00110
+<a name="l00112"></a><a class="code" href="structggl_1_1concept_1_1_const_polygon.html#efa7d199dbc8b2e17308e175fe4e33ca">00112</a> <a class="code" href="structggl_1_1concept_1_1_const_polygon.html#efa7d199dbc8b2e17308e175fe4e33ca" title="BCCL macro to check the ConstPolygon concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_polygon.html" title="Checks Polygon concept (const version).">ConstPolygon</a>)
+<a name="l00113"></a>00113 {
+<a name="l00114"></a>00114 this-&gt;constraints();
+<a name="l00115"></a>00115 }
+<a name="l00116"></a>00116 };
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 <span class="preprocessor">#endif // GGL_CORE_CONCEPTS_POLYGON_CONCEPT_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radian__access_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radian__access_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/radian_access.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 &nbsp;</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&lt;std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8923ef58b174aa129ba64465cbcf95b5">ggl::get_as_radian</a> (const G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, result is in RADIAN <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t D, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g9fcd126a3429823c1b684e0bae01c491">ggl::set_from_radian</a> (G &amp;geometry, const typename coordinate_type&lt; G &gt;::type &amp;radians)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign coordinate value (which is in <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>) to a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radian__access_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radian__access_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/radian_access.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_CORE_RADIAN_ACCESS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_RADIAN_ACCESS_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 &lt;cstddef&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">namespace </span>detail {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G, <span class="keyword">typename</span> DR&gt;
+<a name="l00032"></a>00032 <span class="keyword">struct </span>radian_access
+<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> &lt;std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>CS&gt;
+<a name="l00037"></a>00037 <span class="keyword">struct </span>radian_access&lt;D, G, CS&lt;radian&gt; &gt;
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;G&gt;::type coordinate_type;
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(G <span class="keyword">const</span>&amp; geometry)
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keywordflow">return</span> ggl::get&lt;D&gt;(geometry);
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(G&amp; geometry, coordinate_type <span class="keyword">const</span>&amp; radians)
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 ggl::set&lt;D&gt;(geometry, radians);
+<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> &lt;std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>CS&gt;
+<a name="l00053"></a>00053 <span class="keyword">struct </span>radian_access&lt;D, G, CS&lt;degree&gt; &gt;
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;G&gt;::type coordinate_type;
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(G <span class="keyword">const</span>&amp; geometry)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keywordflow">return</span> boost::numeric_cast
+<a name="l00060"></a>00060 &lt;
+<a name="l00061"></a>00061 coordinate_type
+<a name="l00062"></a>00062 &gt;(ggl::get&lt;D&gt;(geometry) * <a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">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&amp; geometry, coordinate_type <span class="keyword">const</span>&amp; radians)
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 ggl::set&lt;D&gt;(geometry, boost::numeric_cast
+<a name="l00068"></a>00068 &lt;
+<a name="l00069"></a>00069 coordinate_type
+<a name="l00070"></a>00070 &gt;(radians * <a class="code" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">math::r2d</a>));
+<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="comment">// namespace detail</span>
+<a name="l00076"></a>00076 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00077"></a>00077 <span class="preprocessor"></span>
+<a name="l00078"></a>00078
+<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
+<a name="l00089"></a><a class="code" href="group__access.html#g8923ef58b174aa129ba64465cbcf95b5">00089</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a> <a class="code" href="group__access.html#g8923ef58b174aa129ba64465cbcf95b5" title="get a coordinate value of a point, result is in RADIAN">get_as_radian</a>(<span class="keyword">const</span> G&amp; geometry)
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="keywordflow">return</span> detail::radian_access&lt;D, G,
+<a name="l00092"></a>00092 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system&lt;G&gt;::type</a>&gt;<a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(geometry);
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095
+<a name="l00106"></a>00106 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
+<a name="l00107"></a><a class="code" href="group__access.html#g9fcd126a3429823c1b684e0bae01c491">00107</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g9fcd126a3429823c1b684e0bae01c491" title="assign coordinate value (which is in radian) to a point">set_from_radian</a>(G&amp; geometry,
+<a name="l00108"></a>00108 <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a>&amp; radians)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 detail::radian_access&lt;D, G,
+<a name="l00111"></a>00111 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system&lt;G&gt;::type</a>&gt;<a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">::set</a>(geometry, radians);
+<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_CORE_RADIAN_ACCESS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radius_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radius_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,95 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/core/radius.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1radius__type.html">ggl::radius_type&lt; G &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1radius__access.html">ggl::traits::radius_access&lt; G, T, D &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class to get/set radius of a circle/sphere/(ellipse). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1radius__type.html">ggl::traits::radius_type&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class indicating the type (double,float,...) of the radius of a circle or a sphere. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">radius_type&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">ggl::get_radius</a> (const G &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get radius. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, typename G &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">ggl::set_radius</a> (G &amp;geometry, const typename radius_type&lt; G &gt;::type &amp;radius)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to set the radius of a circle / sphere / (ellipse). <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radius_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radius_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/core/radius.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_CORE_RADIUS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_RADIUS_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>ggl {
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>traits {
+<a name="l00026"></a>00026
+<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00045"></a><a class="code" href="structggl_1_1traits_1_1radius__access.html">00045</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1radius__access.html" title="Traits class to get/set radius of a circle/sphere/(ellipse).">radius_access</a> {};
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047
+<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00058"></a><a class="code" href="structggl_1_1traits_1_1radius__type.html">00058</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1radius__type.html" title="Traits class indicating the type (double,float,...) of the radius of a circle or...">radius_type</a> {};
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 } <span class="comment">// namespace traits</span>
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00065"></a>00065 {
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G&gt;
+<a name="l00068"></a>00068 <span class="keyword">struct </span><a class="code" href="structggl_1_1radius__type.html">radius_type</a>
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <span class="comment">//typedef core_dispatch_specialization_required type;</span>
+<a name="l00071"></a>00071 };
+<a name="l00072"></a>00072
+<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00077"></a>00077 <span class="keyword">struct </span>radius_access
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="comment">//static inline T get(const G&amp; ) {}</span>
+<a name="l00080"></a>00080 <span class="comment">//static inline void set(G&amp; g, const T&amp; value) {}</span>
+<a name="l00081"></a>00081 };
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00084"></a>00084 <span class="keyword">struct </span>radius_type&lt;nsphere_tag, S&gt;
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keyword">typedef</span> <span class="keyword">typename</span> traits::radius_type&lt;S&gt;::type type;
+<a name="l00087"></a>00087 };
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00090"></a>00090 <span class="keyword">struct </span>radius_access&lt;nsphere_tag, S, T, D&gt;
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 BOOST_STATIC_ASSERT((D == 0));
+<a name="l00093"></a>00093 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> S&amp; s)
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::radius_access&lt;S, T, D&gt;::get</a>(s);
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(S&amp; s, <span class="keyword">const</span> T&amp; radius)
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::radius_access&lt;S, T, D&gt;::set</a>(s, radius);
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101 };
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00104"></a>00104 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00105"></a>00105 <span class="preprocessor"></span>
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00108"></a><a class="code" href="structggl_1_1radius__type.html">00108</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1radius__type.html">radius_type</a>
+<a name="l00109"></a>00109 {
+<a name="l00110"></a><a class="code" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">00110</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type <a class="code" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a>;
+<a name="l00111"></a><a class="code" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">00111</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> core_dispatch::radius_type&lt;typename tag&lt;G&gt;::type, <a class="code" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a>&gt;<a class="code" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">::type</a> <a class="code" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a>;
+<a name="l00112"></a>00112 };
+<a name="l00113"></a>00113
+<a name="l00122"></a>00122 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I, <span class="keyword">typename</span> G&gt;
+<a name="l00123"></a><a class="code" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">00123</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1radius__type.html">radius_type&lt;G&gt;::type</a> <a class="code" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172" title="Function to get radius.">get_radius</a>(<span class="keyword">const</span> G&amp; geometry)
+<a name="l00124"></a>00124 {
+<a name="l00125"></a>00125 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type rconst;
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 <span class="keywordflow">return</span> core_dispatch::radius_access&lt;typename tag&lt;G&gt;::type, rconst,
+<a name="l00128"></a>00128 <span class="keyword">typename</span> <a class="code" href="structggl_1_1radius__type.html">radius_type&lt;G&gt;::type</a>, I&gt;<a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(geometry);
+<a name="l00129"></a>00129 }
+<a name="l00130"></a>00130
+<a name="l00139"></a>00139 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I, <span class="keyword">typename</span> G&gt;
+<a name="l00140"></a><a class="code" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">00140</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79" title="Function to set the radius of a circle / sphere / (ellipse).">set_radius</a>(G&amp; geometry, <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1radius__type.html">radius_type&lt;G&gt;::type</a>&amp; radius)
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type rconst;
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 core_dispatch::radius_access&lt;typename tag&lt;G&gt;::type, G,
+<a name="l00145"></a>00145 <span class="keyword">typename</span> <a class="code" href="structggl_1_1radius__type.html">radius_type&lt;G&gt;::type</a>, I&gt;<a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">::set</a>(geometry, radius);
+<a name="l00146"></a>00146 }
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 } <span class="comment">// namespace ggl</span>
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="preprocessor">#endif // GGL_RADIUS_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2box_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2box_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,191 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/register/box.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>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_2box_8hpp.html#ed1a3851a1af52f04cffc6d2b2766475">GEOMETRY_REGISTER_BOX</a>(Box, PointType, MinCorner, MaxCorner)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_2box_8hpp.html#b89014f5b050a89c7ac1128c2fdf31bd">GEOMETRY_REGISTER_BOX_2D_4VALUES</a>(Box, PointType, Left, Bottom, Right, Top)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_2box_8hpp.html#bcf41d22a141a62e503e0e6d482a6201">GEOMETRY_REGISTER_BOX_TEMPLATIZED</a>(Box, MinCorner, MaxCorner)</td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="ed1a3851a1af52f04cffc6d2b2766475"></a><!-- doxytag: member="box.hpp::GEOMETRY_REGISTER_BOX" ref="ed1a3851a1af52f04cffc6d2b2766475" args="(Box, PointType, MinCorner, MaxCorner)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_BOX </td>
+ <td>(</td>
+ <td class="paramtype">Box, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointType, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">MinCorner, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">MaxCorner&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>traits { \
+ GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, PointType) \
+ GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS(Box, PointType, MinCorner, MaxCorner) \
+}}
+</pre></div><dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="c02__custom__box__example_8cpp-example.html#a1">c02_custom_box_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="register_2box_8hpp_source.html#l00082">82</a> of file <a class="el" href="register_2box_8hpp_source.html">box.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="bcf41d22a141a62e503e0e6d482a6201"></a><!-- doxytag: member="box.hpp::GEOMETRY_REGISTER_BOX_TEMPLATIZED" ref="bcf41d22a141a62e503e0e6d482a6201" args="(Box, MinCorner, MaxCorner)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_BOX_TEMPLATIZED </td>
+ <td>(</td>
+ <td class="paramtype">Box, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">MinCorner, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">MaxCorner&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>traits { \
+ GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS_TEMPLATIZED(Box) \
+ GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_TEMPLATIZED(Box, MinCorner, MaxCorner) \
+}}
+</pre></div><dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="c02__custom__box__example_8cpp-example.html#a2">c02_custom_box_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="register_2box_8hpp_source.html#l00089">89</a> of file <a class="el" href="register_2box_8hpp_source.html">box.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="b89014f5b050a89c7ac1128c2fdf31bd"></a><!-- doxytag: member="box.hpp::GEOMETRY_REGISTER_BOX_2D_4VALUES" ref="b89014f5b050a89c7ac1128c2fdf31bd" args="(Box, PointType, Left, Bottom, Right, Top)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_BOX_2D_4VALUES </td>
+ <td>(</td>
+ <td class="paramtype">Box, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointType, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Left, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Bottom, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Right, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Top&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>traits { \
+ GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, PointType) \
+ GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_4VALUES(Box, PointType, Left, Bottom, Right, Top) \
+}}
+</pre></div><dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="c02__custom__box__example_8cpp-example.html#a3">c02_custom_box_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="register_2box_8hpp_source.html#l00095">95</a> of file <a class="el" href="register_2box_8hpp_source.html">box.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2box_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2box_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/register/box.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_REGISTER_BOX_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_REGISTER_BOX_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#ifndef DOXYGEN_NO_SPECIALIZATIONS</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span>
+<a name="l00016"></a>00016 <span class="comment">// box based on point</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS(Box, Point, MinCorner, MaxCorner) \</span>
+<a name="l00018"></a>00018 <span class="preprocessor">template &lt;size_t C, size_t D&gt; \</span>
+<a name="l00019"></a>00019 <span class="preprocessor">struct indexed_access&lt;Box, C, D&gt; \</span>
+<a name="l00020"></a>00020 <span class="preprocessor">{ \</span>
+<a name="l00021"></a>00021 <span class="preprocessor"> static inline typename coordinate_type&lt;Point&gt;::type get(const Box&amp; b) \</span>
+<a name="l00022"></a>00022 <span class="preprocessor"> { \</span>
+<a name="l00023"></a>00023 <span class="preprocessor"> return C == min_corner ? ggl::get&lt;D&gt;(b. MinCorner) : ggl::get&lt;D&gt;(b. MaxCorner); \</span>
+<a name="l00024"></a>00024 <span class="preprocessor"> } \</span>
+<a name="l00025"></a>00025 <span class="preprocessor"> static inline void set(Box&amp; b, const typename coordinate_type&lt;Point&gt;::type&amp; value) \</span>
+<a name="l00026"></a>00026 <span class="preprocessor"> { \</span>
+<a name="l00027"></a>00027 <span class="preprocessor"> if (C == min_corner) ggl::set&lt;D&gt;(b. MinCorner, value); else ggl::set&lt;D&gt;(b. MaxCorner, value); \</span>
+<a name="l00028"></a>00028 <span class="preprocessor"> } \</span>
+<a name="l00029"></a>00029 <span class="preprocessor">};</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_TEMPLATIZED(Box, MinCorner, MaxCorner) \</span>
+<a name="l00033"></a>00033 <span class="preprocessor">template &lt;typename P, size_t C, size_t D&gt; \</span>
+<a name="l00034"></a>00034 <span class="preprocessor">struct indexed_access&lt;Box&lt;P&gt;, C, D&gt; \</span>
+<a name="l00035"></a>00035 <span class="preprocessor">{ \</span>
+<a name="l00036"></a>00036 <span class="preprocessor"> static inline typename coordinate_type&lt;P&gt;::type get(const Box&lt;P&gt;&amp; b) \</span>
+<a name="l00037"></a>00037 <span class="preprocessor"> { \</span>
+<a name="l00038"></a>00038 <span class="preprocessor"> return C == min_corner ? ggl::get&lt;D&gt;(b. MinCorner) : ggl::get&lt;D&gt;(b. MaxCorner); \</span>
+<a name="l00039"></a>00039 <span class="preprocessor"> } \</span>
+<a name="l00040"></a>00040 <span class="preprocessor"> static inline void set(Box&lt;P&gt;&amp; b, const typename coordinate_type&lt;P&gt;::type&amp; value) \</span>
+<a name="l00041"></a>00041 <span class="preprocessor"> { \</span>
+<a name="l00042"></a>00042 <span class="preprocessor"> if (C == min_corner) ggl::set&lt;D&gt;(b. MinCorner, value); else ggl::set&lt;D&gt;(b. MaxCorner, value); \</span>
+<a name="l00043"></a>00043 <span class="preprocessor"> } \</span>
+<a name="l00044"></a>00044 <span class="preprocessor">};</span>
+<a name="l00045"></a>00045 <span class="preprocessor"></span>
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_4VALUES(Box, Point, Left, Bottom, Right, Top) \</span>
+<a name="l00048"></a>00048 <span class="preprocessor">template &lt;size_t C, size_t D&gt; \</span>
+<a name="l00049"></a>00049 <span class="preprocessor">struct indexed_access&lt;Box, C, D&gt; \</span>
+<a name="l00050"></a>00050 <span class="preprocessor">{ \</span>
+<a name="l00051"></a>00051 <span class="preprocessor"> static inline typename coordinate_type&lt;Point&gt;::type get(const Box&amp; b) \</span>
+<a name="l00052"></a>00052 <span class="preprocessor"> { \</span>
+<a name="l00053"></a>00053 <span class="preprocessor"> return C == min_corner &amp;&amp; D == 0 ? b. Left \</span>
+<a name="l00054"></a>00054 <span class="preprocessor"> : C == min_corner &amp;&amp; D == 1 ? b. Bottom \</span>
+<a name="l00055"></a>00055 <span class="preprocessor"> : C == max_corner &amp;&amp; D == 0 ? b. Right \</span>
+<a name="l00056"></a>00056 <span class="preprocessor"> : C == max_corner &amp;&amp; D == 1 ? b. Top \</span>
+<a name="l00057"></a>00057 <span class="preprocessor"> : 0; \</span>
+<a name="l00058"></a>00058 <span class="preprocessor"> } \</span>
+<a name="l00059"></a>00059 <span class="preprocessor"> static inline void set(Box&amp; b, const typename coordinate_type&lt;Point&gt;::type&amp; value) \</span>
+<a name="l00060"></a>00060 <span class="preprocessor"> { \</span>
+<a name="l00061"></a>00061 <span class="preprocessor"> if (C == min_corner &amp;&amp; D == 0) b. Left = value; \</span>
+<a name="l00062"></a>00062 <span class="preprocessor"> else if (C == min_corner &amp;&amp; D == 1) b. Bottom = value; \</span>
+<a name="l00063"></a>00063 <span class="preprocessor"> else if (C == max_corner &amp;&amp; D == 0) b. Right = value; \</span>
+<a name="l00064"></a>00064 <span class="preprocessor"> else if (C == max_corner &amp;&amp; D == 1) b. Top = value; \</span>
+<a name="l00065"></a>00065 <span class="preprocessor"> } \</span>
+<a name="l00066"></a>00066 <span class="preprocessor">};</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span>
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, PointType) \</span>
+<a name="l00071"></a>00071 <span class="preprocessor"> template&lt;&gt; struct tag&lt;Box &gt; { typedef box_tag type; }; \</span>
+<a name="l00072"></a>00072 <span class="preprocessor"> template&lt;&gt; struct point_type&lt;Box &gt; { typedef PointType type; };</span>
+<a name="l00073"></a>00073 <span class="preprocessor"></span>
+<a name="l00074"></a>00074 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS_TEMPLATIZED(Box) \</span>
+<a name="l00075"></a>00075 <span class="preprocessor"> template&lt;typename P&gt; struct tag&lt;Box&lt;P&gt; &gt; { typedef box_tag type; }; \</span>
+<a name="l00076"></a>00076 <span class="preprocessor"> template&lt;typename P&gt; struct point_type&lt;Box&lt;P&gt; &gt; { typedef P type; };</span>
+<a name="l00077"></a>00077 <span class="preprocessor"></span>
+<a name="l00078"></a>00078 <span class="preprocessor">#endif // DOXYGEN_NO_SPECIALIZATIONS</span>
+<a name="l00079"></a>00079 <span class="preprocessor"></span>
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081
+<a name="l00082"></a><a class="code" href="register_2box_8hpp.html#ed1a3851a1af52f04cffc6d2b2766475">00082</a> <span class="preprocessor">#define GEOMETRY_REGISTER_BOX(Box, PointType, MinCorner, MaxCorner) \</span>
+<a name="l00083"></a>00083 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00084"></a>00084 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, PointType) \</span>
+<a name="l00085"></a>00085 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS(Box, PointType, MinCorner, MaxCorner) \</span>
+<a name="l00086"></a>00086 <span class="preprocessor">}}</span>
+<a name="l00087"></a>00087 <span class="preprocessor"></span>
+<a name="l00088"></a>00088
+<a name="l00089"></a><a class="code" href="register_2box_8hpp.html#bcf41d22a141a62e503e0e6d482a6201">00089</a> <span class="preprocessor">#define GEOMETRY_REGISTER_BOX_TEMPLATIZED(Box, MinCorner, MaxCorner) \</span>
+<a name="l00090"></a>00090 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00091"></a>00091 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS_TEMPLATIZED(Box) \</span>
+<a name="l00092"></a>00092 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_TEMPLATIZED(Box, MinCorner, MaxCorner) \</span>
+<a name="l00093"></a>00093 <span class="preprocessor">}}</span>
+<a name="l00094"></a>00094 <span class="preprocessor"></span>
+<a name="l00095"></a><a class="code" href="register_2box_8hpp.html#b89014f5b050a89c7ac1128c2fdf31bd">00095</a> <span class="preprocessor">#define GEOMETRY_REGISTER_BOX_2D_4VALUES(Box, PointType, Left, Bottom, Right, Top) \</span>
+<a name="l00096"></a>00096 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00097"></a>00097 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, PointType) \</span>
+<a name="l00098"></a>00098 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_4VALUES(Box, PointType, Left, Bottom, Right, Top) \</span>
+<a name="l00099"></a>00099 <span class="preprocessor">}}</span>
+<a name="l00100"></a>00100 <span class="preprocessor"></span>
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="comment">// CONST versions are for boxes probably not that common. Leave this for the moment.</span>
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="preprocessor">#endif // GGL_GEOMETRIES_REGISTER_BOX_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2linestring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2linestring_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,101 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/register/linestring.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>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_2linestring_8hpp.html#9517765f50e3552d0029efb2fdd11c5c">GEOMETRY_REGISTER_LINESTRING</a>(Linestring)</td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="9517765f50e3552d0029efb2fdd11c5c"></a><!-- doxytag: member="linestring.hpp::GEOMETRY_REGISTER_LINESTRING" ref="9517765f50e3552d0029efb2fdd11c5c" args="(Linestring)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_LINESTRING </td>
+ <td>(</td>
+ <td class="paramtype">Linestring&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>traits { \
+ <span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span>tag&lt;Linestring&gt; { <span class="keyword">typedef</span> linestring_tag type; }; \
+}}
+</pre></div>
+<p>Definition at line <a class="el" href="register_2linestring_8hpp_source.html#l00018">18</a> of file <a class="el" href="register_2linestring_8hpp_source.html">linestring.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2linestring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2linestring_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/register/linestring.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_REGISTER_LINESTRING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_REGISTER_LINESTRING_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 &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017
+<a name="l00018"></a><a class="code" href="register_2linestring_8hpp.html#9517765f50e3552d0029efb2fdd11c5c">00018</a> <span class="preprocessor">#define GEOMETRY_REGISTER_LINESTRING(Linestring) \</span>
+<a name="l00019"></a>00019 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00020"></a>00020 <span class="preprocessor"> template&lt;&gt; struct tag&lt;Linestring&gt; { typedef linestring_tag type; }; \</span>
+<a name="l00021"></a>00021 <span class="preprocessor">}}</span>
+<a name="l00022"></a>00022 <span class="preprocessor"></span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#endif // GGL_GEOMETRIES_REGISTER_LINESTRING_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2point_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2point_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,351 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/register/point.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>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_2point_8hpp.html#14955651e3df068662a34944ca29764f">GEOMETRY_REGISTER_POINT_2D</a>(Point, CoordinateType, CoordinateSystem, Field0, Field1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_2point_8hpp.html#dae7297232bdaa4c6c569dcdb16209bf">GEOMETRY_REGISTER_POINT_2D_CONST</a>(Point, CoordinateType, CoordinateSystem, Field0, Field1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_2point_8hpp.html#1400081dc8c3320e31e0fb6ab3b777eb">GEOMETRY_REGISTER_POINT_2D_GET_SET</a>(Point, CoordinateType, CoordinateSystem, Get0, Get1, Set0, Set1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_2point_8hpp.html#3c77b4554aef1349e81be71035af3b64">GEOMETRY_REGISTER_POINT_3D</a>(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_2point_8hpp.html#bb96f6a00cda5806f0d7114f731ac971">GEOMETRY_REGISTER_POINT_3D_CONST</a>(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_2point_8hpp.html#505d8eb529cc02313bf107f59c8dcc65">GEOMETRY_REGISTER_POINT_3D_GET_SET</a>(Point, CoordinateType, CoordinateSystem, Get0, Get1, Get2, Set0, Set1, Set2)</td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="14955651e3df068662a34944ca29764f"></a><!-- doxytag: member="point.hpp::GEOMETRY_REGISTER_POINT_2D" ref="14955651e3df068662a34944ca29764f" args="(Point, CoordinateType, CoordinateSystem, Field0, Field1)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_POINT_2D </td>
+ <td>(</td>
+ <td class="paramtype">Point, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CoordinateType, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CoordinateSystem, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Field0, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Field1&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>traits { \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_2D(Point, CoordinateType, Field0, Field1, Field0, Field1) \
+}}
+</pre></div><dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="c01__custom__point__example_8cpp-example.html#a1">c01_custom_point_example.cpp</a>, and <a class="el" href="c02__custom__box__example_8cpp-example.html#a0">c02_custom_box_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="register_2point_8hpp_source.html#l00099">99</a> of file <a class="el" href="register_2point_8hpp_source.html">point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="3c77b4554aef1349e81be71035af3b64"></a><!-- doxytag: member="point.hpp::GEOMETRY_REGISTER_POINT_3D" ref="3c77b4554aef1349e81be71035af3b64" args="(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_POINT_3D </td>
+ <td>(</td>
+ <td class="paramtype">Point, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CoordinateType, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CoordinateSystem, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Field0, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Field1, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Field2&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>traits { \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_3D(Point, CoordinateType, Field0, Field1, Field2, Field0, Field1, Field2) \
+}}
+</pre></div><dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="c01__custom__point__example_8cpp-example.html#a0">c01_custom_point_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="register_2point_8hpp_source.html#l00107">107</a> of file <a class="el" href="register_2point_8hpp_source.html">point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="dae7297232bdaa4c6c569dcdb16209bf"></a><!-- doxytag: member="point.hpp::GEOMETRY_REGISTER_POINT_2D_CONST" ref="dae7297232bdaa4c6c569dcdb16209bf" args="(Point, CoordinateType, CoordinateSystem, Field0, Field1)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_POINT_2D_CONST </td>
+ <td>(</td>
+ <td class="paramtype">Point, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CoordinateType, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CoordinateSystem, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Field0, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Field1&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>traits { \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, CoordinateType) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST_2D(Point, CoordinateType, Field0, Field1) \
+}}
+</pre></div><dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="c01__custom__point__example_8cpp-example.html#a2">c01_custom_point_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="register_2point_8hpp_source.html#l00117">117</a> of file <a class="el" href="register_2point_8hpp_source.html">point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="bb96f6a00cda5806f0d7114f731ac971"></a><!-- doxytag: member="point.hpp::GEOMETRY_REGISTER_POINT_3D_CONST" ref="bb96f6a00cda5806f0d7114f731ac971" args="(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_POINT_3D_CONST </td>
+ <td>(</td>
+ <td class="paramtype">Point, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CoordinateType, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CoordinateSystem, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Field0, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Field1, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Field2&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>traits { \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, CoordinateType) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST_3D(Point, CoordinateType, Field0, Field1, Field2) \
+}}
+</pre></div>
+<p>Definition at line <a class="el" href="register_2point_8hpp_source.html#l00125">125</a> of file <a class="el" href="register_2point_8hpp_source.html">point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="1400081dc8c3320e31e0fb6ab3b777eb"></a><!-- doxytag: member="point.hpp::GEOMETRY_REGISTER_POINT_2D_GET_SET" ref="1400081dc8c3320e31e0fb6ab3b777eb" args="(Point, CoordinateType, CoordinateSystem, Get0, Get1, Set0, Set1)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_POINT_2D_GET_SET </td>
+ <td>(</td>
+ <td class="paramtype">Point, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CoordinateType, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CoordinateSystem, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Get0, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Get1, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Set0, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Set1&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>traits { \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 0, CoordinateType, Get0, Set0) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 1, CoordinateType, Get1, Set1) \
+}}
+</pre></div><dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="c01__custom__point__example_8cpp-example.html#a3">c01_custom_point_example.cpp</a>, and <a class="el" href="x01__qt__example_8cpp-example.html#a0">x01_qt_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="register_2point_8hpp_source.html#l00134">134</a> of file <a class="el" href="register_2point_8hpp_source.html">point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="505d8eb529cc02313bf107f59c8dcc65"></a><!-- doxytag: member="point.hpp::GEOMETRY_REGISTER_POINT_3D_GET_SET" ref="505d8eb529cc02313bf107f59c8dcc65" args="(Point, CoordinateType, CoordinateSystem, Get0, Get1, Get2, Set0, Set1, Set2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_POINT_3D_GET_SET </td>
+ <td>(</td>
+ <td class="paramtype">Point, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CoordinateType, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CoordinateSystem, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Get0, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Get1, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Get2, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Set0, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Set1, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Set2&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>traits { \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 0, CoordinateType, Get0, Set0) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 1, CoordinateType, Get1, Set1) \
+ GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 2, CoordinateType, Get2, Set2) \
+}}
+</pre></div>
+<p>Definition at line <a class="el" href="register_2point_8hpp_source.html#l00144">144</a> of file <a class="el" href="register_2point_8hpp_source.html">point.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2point_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2point_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,219 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/register/point.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_REGISTER_POINT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_REGISTER_POINT_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="comment">// This file implements a "macro party", nevertheless very useful for registration of custom geometry types</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#ifndef DOXYGEN_NO_SPECIALIZATIONS</span>
+<a name="l00018"></a>00018 <span class="preprocessor"></span>
+<a name="l00019"></a>00019 <span class="comment">// Starting point, specialize basic traits necessary to register a point</span>
+<a name="l00020"></a>00020 <span class="comment">// (the 'accessor' is technically not specialization but definition, specialized in another macro)</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, Dim, CoordinateType, CoordinateSystem) \</span>
+<a name="l00022"></a>00022 <span class="preprocessor"> template&lt;&gt; struct tag&lt;Point&gt; { typedef point_tag type; }; \</span>
+<a name="l00023"></a>00023 <span class="preprocessor"> template&lt;&gt; struct dimension&lt;Point&gt; : boost::mpl::int_&lt;Dim&gt; {}; \</span>
+<a name="l00024"></a>00024 <span class="preprocessor"> template&lt;&gt; struct coordinate_type&lt;Point&gt; { typedef CoordinateType type; }; \</span>
+<a name="l00025"></a>00025 <span class="preprocessor"> template&lt;&gt; struct coordinate_system&lt;Point&gt; { typedef CoordinateSystem type; }; \</span>
+<a name="l00026"></a>00026 <span class="preprocessor"> template&lt;int I&gt; struct Point##accessor {};</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="comment">// Non Const version</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \</span>
+<a name="l00031"></a>00031 <span class="preprocessor"> template&lt;&gt; struct access&lt;Point&gt; { \</span>
+<a name="l00032"></a>00032 <span class="preprocessor"> template &lt;int I&gt; \</span>
+<a name="l00033"></a>00033 <span class="preprocessor"> static inline CoordinateType get(const Point&amp; p) { return Point##accessor&lt;I&gt;::get(p); } \</span>
+<a name="l00034"></a>00034 <span class="preprocessor"> template &lt;int I&gt; \</span>
+<a name="l00035"></a>00035 <span class="preprocessor"> static inline void set(Point&amp; p, const CoordinateType&amp; value) { Point##accessor&lt;I&gt;::set(p, value); } \</span>
+<a name="l00036"></a>00036 <span class="preprocessor"> };</span>
+<a name="l00037"></a>00037 <span class="preprocessor"></span>
+<a name="l00038"></a>00038 <span class="comment">// Const version</span>
+<a name="l00039"></a>00039 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, CoordinateType) \</span>
+<a name="l00040"></a>00040 <span class="preprocessor"> template&lt;&gt; struct access&lt;Point&gt; { \</span>
+<a name="l00041"></a>00041 <span class="preprocessor"> template &lt;int I&gt; \</span>
+<a name="l00042"></a>00042 <span class="preprocessor"> static inline CoordinateType get(const Point&amp; p) { return Point##accessor&lt;I&gt;::get(p); } \</span>
+<a name="l00043"></a>00043 <span class="preprocessor"> };</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 <span class="comment">// Specialize the point-specific-accessor class, declared below, per dimension</span>
+<a name="l00049"></a>00049 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR(Point, Dim, CoordinateType, Get, Set) \</span>
+<a name="l00050"></a>00050 <span class="preprocessor"> template&lt;&gt; struct Point##accessor&lt; Dim &gt; \</span>
+<a name="l00051"></a>00051 <span class="preprocessor"> { \</span>
+<a name="l00052"></a>00052 <span class="preprocessor"> static inline CoordinateType get(const Point&amp; p) { return p. Get; } \</span>
+<a name="l00053"></a>00053 <span class="preprocessor"> static inline void set(Point&amp; p, const CoordinateType&amp; value) { p. Set = value; } \</span>
+<a name="l00054"></a>00054 <span class="preprocessor"> };</span>
+<a name="l00055"></a>00055 <span class="preprocessor"></span>
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="comment">// Const version</span>
+<a name="l00058"></a>00058 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_CONST(Point, Dim, CoordinateType, Get) \</span>
+<a name="l00059"></a>00059 <span class="preprocessor"> template&lt;&gt; struct Point##accessor&lt; Dim &gt; \</span>
+<a name="l00060"></a>00060 <span class="preprocessor"> { \</span>
+<a name="l00061"></a>00061 <span class="preprocessor"> static inline CoordinateType get(const Point&amp; p) { return p. Get; } \</span>
+<a name="l00062"></a>00062 <span class="preprocessor"> };</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span>
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="comment">// Get/set version</span>
+<a name="l00066"></a>00066 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, Dim, CoordinateType, Get, Set) \</span>
+<a name="l00067"></a>00067 <span class="preprocessor"> template&lt;&gt; struct Point##accessor&lt; Dim &gt; \</span>
+<a name="l00068"></a>00068 <span class="preprocessor"> { \</span>
+<a name="l00069"></a>00069 <span class="preprocessor"> static inline CoordinateType get(const Point&amp; p) { return p. Get (); } \</span>
+<a name="l00070"></a>00070 <span class="preprocessor"> static inline void set(Point&amp; p, const CoordinateType&amp; value) { p. Set ( value ); } \</span>
+<a name="l00071"></a>00071 <span class="preprocessor"> };</span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span>
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_2D(Point, CoordinateType, Get0, Get1, Set0, Set1) \</span>
+<a name="l00076"></a>00076 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR(Point, 0, CoordinateType, Get0, Set0) \</span>
+<a name="l00077"></a>00077 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR(Point, 1, CoordinateType, Get1, Set1)</span>
+<a name="l00078"></a>00078 <span class="preprocessor"></span>
+<a name="l00079"></a>00079 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_3D(Point, CoordinateType, Get0, Get1, Get2, Set0, Set1, Set2) \</span>
+<a name="l00080"></a>00080 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR(Point, 0, CoordinateType, Get0, Set0) \</span>
+<a name="l00081"></a>00081 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR(Point, 1, CoordinateType, Get1, Set1) \</span>
+<a name="l00082"></a>00082 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR(Point, 2, CoordinateType, Get2, Set2)</span>
+<a name="l00083"></a>00083 <span class="preprocessor"></span>
+<a name="l00084"></a>00084 <span class="comment">// Const versions</span>
+<a name="l00085"></a>00085 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST_2D(Point, CoordinateType, Get0, Get1) \</span>
+<a name="l00086"></a>00086 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_CONST(Point, 0, CoordinateType, Get0) \</span>
+<a name="l00087"></a>00087 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_CONST(Point, 1, CoordinateType, Get1)</span>
+<a name="l00088"></a>00088 <span class="preprocessor"></span>
+<a name="l00089"></a>00089 <span class="preprocessor">#define GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST_3D(Point, CoordinateType, Get0, Get1, Get2) \</span>
+<a name="l00090"></a>00090 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_CONST(Point, 0, CoordinateType, Get0) \</span>
+<a name="l00091"></a>00091 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_CONST(Point, 1, CoordinateType, Get1) \</span>
+<a name="l00092"></a>00092 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_CONST(Point, 2, CoordinateType, Get2)</span>
+<a name="l00093"></a>00093 <span class="preprocessor"></span>
+<a name="l00094"></a>00094 <span class="preprocessor">#endif // DOXYGEN_NO_SPECIALIZATIONS</span>
+<a name="l00095"></a>00095 <span class="preprocessor"></span>
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="comment">// Library user macro to register a custom 2D point</span>
+<a name="l00099"></a><a class="code" href="register_2point_8hpp.html#14955651e3df068662a34944ca29764f">00099</a> <span class="preprocessor">#define GEOMETRY_REGISTER_POINT_2D(Point, CoordinateType, CoordinateSystem, Field0, Field1) \</span>
+<a name="l00100"></a>00100 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00101"></a>00101 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \</span>
+<a name="l00102"></a>00102 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \</span>
+<a name="l00103"></a>00103 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_2D(Point, CoordinateType, Field0, Field1, Field0, Field1) \</span>
+<a name="l00104"></a>00104 <span class="preprocessor">}}</span>
+<a name="l00105"></a>00105 <span class="preprocessor"></span>
+<a name="l00106"></a>00106 <span class="comment">// Library user macro to register a custom 3D point</span>
+<a name="l00107"></a><a class="code" href="register_2point_8hpp.html#3c77b4554aef1349e81be71035af3b64">00107</a> <span class="preprocessor">#define GEOMETRY_REGISTER_POINT_3D(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2) \</span>
+<a name="l00108"></a>00108 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00109"></a>00109 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \</span>
+<a name="l00110"></a>00110 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \</span>
+<a name="l00111"></a>00111 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_3D(Point, CoordinateType, Field0, Field1, Field2, Field0, Field1, Field2) \</span>
+<a name="l00112"></a>00112 <span class="preprocessor">}}</span>
+<a name="l00113"></a>00113 <span class="preprocessor"></span>
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="comment">// Library user macro to register a custom 2D point (CONST version)</span>
+<a name="l00117"></a><a class="code" href="register_2point_8hpp.html#dae7297232bdaa4c6c569dcdb16209bf">00117</a> <span class="preprocessor">#define GEOMETRY_REGISTER_POINT_2D_CONST(Point, CoordinateType, CoordinateSystem, Field0, Field1) \</span>
+<a name="l00118"></a>00118 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00119"></a>00119 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \</span>
+<a name="l00120"></a>00120 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, CoordinateType) \</span>
+<a name="l00121"></a>00121 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST_2D(Point, CoordinateType, Field0, Field1) \</span>
+<a name="l00122"></a>00122 <span class="preprocessor">}}</span>
+<a name="l00123"></a>00123 <span class="preprocessor"></span>
+<a name="l00124"></a>00124 <span class="comment">// Library user macro to register a custom 3D point (CONST version)</span>
+<a name="l00125"></a><a class="code" href="register_2point_8hpp.html#bb96f6a00cda5806f0d7114f731ac971">00125</a> <span class="preprocessor">#define GEOMETRY_REGISTER_POINT_3D_CONST(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2) \</span>
+<a name="l00126"></a>00126 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00127"></a>00127 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \</span>
+<a name="l00128"></a>00128 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, CoordinateType) \</span>
+<a name="l00129"></a>00129 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST_3D(Point, CoordinateType, Field0, Field1, Field2) \</span>
+<a name="l00130"></a>00130 <span class="preprocessor">}}</span>
+<a name="l00131"></a>00131 <span class="preprocessor"></span>
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="comment">// Library user macro to register a custom 2D point (having separate get/set methods)</span>
+<a name="l00134"></a><a class="code" href="register_2point_8hpp.html#1400081dc8c3320e31e0fb6ab3b777eb">00134</a> <span class="preprocessor">#define GEOMETRY_REGISTER_POINT_2D_GET_SET(Point, CoordinateType, CoordinateSystem, Get0, Get1, Set0, Set1) \</span>
+<a name="l00135"></a>00135 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00136"></a>00136 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \</span>
+<a name="l00137"></a>00137 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \</span>
+<a name="l00138"></a>00138 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 0, CoordinateType, Get0, Set0) \</span>
+<a name="l00139"></a>00139 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 1, CoordinateType, Get1, Set1) \</span>
+<a name="l00140"></a>00140 <span class="preprocessor">}}</span>
+<a name="l00141"></a>00141 <span class="preprocessor"></span>
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 <span class="comment">// Library user macro to register a custom 3D point (having separate get/set methods)</span>
+<a name="l00144"></a><a class="code" href="register_2point_8hpp.html#505d8eb529cc02313bf107f59c8dcc65">00144</a> <span class="preprocessor">#define GEOMETRY_REGISTER_POINT_3D_GET_SET(Point, CoordinateType, CoordinateSystem, Get0, Get1, Get2, Set0, Set1, Set2) \</span>
+<a name="l00145"></a>00145 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00146"></a>00146 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \</span>
+<a name="l00147"></a>00147 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, CoordinateType) \</span>
+<a name="l00148"></a>00148 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 0, CoordinateType, Get0, Set0) \</span>
+<a name="l00149"></a>00149 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 1, CoordinateType, Get1, Set1) \</span>
+<a name="l00150"></a>00150 <span class="preprocessor"> GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESSOR_GET_SET(Point, 2, CoordinateType, Get2, Set2) \</span>
+<a name="l00151"></a>00151 <span class="preprocessor">}}</span>
+<a name="l00152"></a>00152 <span class="preprocessor"></span>
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="preprocessor">#endif // GGL_GEOMETRIES_REGISTER_POINT_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,78 @@
+<!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">
+&nbsp;&nbsp;
+</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/replace_point_type.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1replace__point__type.html">ggl::replace_point_type&lt; Geometry, NewPointType &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/replace_point_type.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_CORE_REPLACE_POINT_TYPE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_REPLACE_POINT_TYPE_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 &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="comment">// For now: use ggl-provided geometries</span>
+<a name="l00022"></a>00022 <span class="comment">// TODO: figure out how to get the class and replace the type</span>
+<a name="l00023"></a>00023 <span class="comment">// TODO: take "const" into account</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="point_8hpp.html">ggl/geometries/point.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="linestring_8hpp.html">ggl/geometries/linestring.hpp</a>&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="linear__ring_8hpp.html">ggl/geometries/linear_ring.hpp</a>&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="polygon_8hpp.html">ggl/geometries/polygon.hpp</a>&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="box_8hpp.html">ggl/geometries/box.hpp</a>&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;<a class="code" href="nsphere_8hpp.html">ggl/geometries/nsphere.hpp</a>&gt;</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">namespace </span>ggl {
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00039"></a>00039 <span class="keyword">struct </span>replace_point_type {};
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00042"></a>00042 <span class="keyword">struct </span>replace_point_type&lt;point_tag, Geometry, NewPointType&gt;
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keyword">typedef</span> NewPointType type;
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00048"></a>00048 <span class="keyword">struct </span>replace_point_type&lt;linestring_tag, Geometry, NewPointType&gt;
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keyword">typedef</span> linestring&lt;NewPointType&gt; type;
+<a name="l00051"></a>00051 };
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00054"></a>00054 <span class="keyword">struct </span>replace_point_type&lt;segment_tag, Geometry, NewPointType&gt;
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">typedef</span> segment&lt;NewPointType&gt; type;
+<a name="l00057"></a>00057 };
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00060"></a>00060 <span class="keyword">struct </span>replace_point_type&lt;ring_tag, Geometry, NewPointType&gt;
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 <span class="keyword">typedef</span> linear_ring&lt;NewPointType&gt; type;
+<a name="l00063"></a>00063 };
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00066"></a>00066 <span class="keyword">struct </span>replace_point_type&lt;box_tag, Geometry, NewPointType&gt;
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <span class="keyword">typedef</span> box&lt;NewPointType&gt; type;
+<a name="l00069"></a>00069 };
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00072"></a>00072 <span class="keyword">struct </span>replace_point_type&lt;polygon_tag, Geometry, NewPointType&gt;
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keyword">typedef</span> polygon&lt;NewPointType&gt; type;
+<a name="l00075"></a>00075 };
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00078"></a>00078 <span class="keyword">struct </span>replace_point_type&lt;nsphere_tag, Geometry, NewPointType&gt;
+<a name="l00079"></a>00079 {
+<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;Geometry&gt;::type</a> coortype;
+<a name="l00081"></a>00081 <span class="keyword">typedef</span> nsphere&lt;NewPointType, coortype&gt; type;
+<a name="l00082"></a>00082 };
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00085"></a>00085 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00086"></a>00086 <span class="preprocessor"></span>
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type&gt;
+<a name="l00089"></a><a class="code" href="structggl_1_1replace__point__type.html">00089</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1replace__point__type.html">replace_point_type</a> : core_dispatch::<a class="code" href="structggl_1_1replace__point__type.html">replace_point_type</a>
+<a name="l00090"></a>00090 &lt;
+<a name="l00091"></a>00091 typename tag&lt;Geometry&gt;::type,
+<a name="l00092"></a>00092 typename boost::remove_const&lt;Geometry&gt;::type,
+<a name="l00093"></a>00093 NewPointType
+<a name="l00094"></a>00094 &gt;
+<a name="l00095"></a>00095 {};
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 } <span class="comment">// namespace ggl</span>
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="preprocessor">#endif // GGL_CORE_REPLACE_POINT_TYPE_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/reverse__dispatch_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/reverse__dispatch_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,78 @@
+<!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">
+&nbsp;&nbsp;
+</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/reverse_dispatch.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1reverse__dispatch.html">ggl::reverse_dispatch&lt; Geometry1, Geometry2 &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/reverse__dispatch_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/reverse__dispatch_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/reverse_dispatch.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_CORE_REVERSE_DISPATCH_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_REVERSE_DISPATCH_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 &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/mpl/greater.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="core_2geometry__id_8hpp.html">ggl/core/geometry_id.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="comment">// Different geometries: reverse_dispatch if second ID &lt; first ID</span>
+<a name="l00029"></a>00029 <span class="comment">// Note: if "boost::mpl::greater is used, with geometry_id instead of geometry_id::type::value,</span>
+<a name="l00030"></a>00030 <span class="comment">// it is not working correctly!!!! TODO: find out why not.</span>
+<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> GeometryId1, std::<span class="keywordtype">size_t</span> GeometryId2&gt;
+<a name="l00032"></a>00032 <span class="keyword">struct </span>reverse_dispatch : boost::mpl::if_c
+<a name="l00033"></a>00033 &lt;
+<a name="l00034"></a>00034 (GeometryId1 &gt; GeometryId2),
+<a name="l00035"></a>00035 boost::true_type,
+<a name="l00036"></a>00036 boost::false_type
+<a name="l00037"></a>00037 &gt;
+<a name="l00038"></a>00038 {};
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="comment">// Same geometry: never reverse_dispatch</span>
+<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> GeometryId&gt;
+<a name="l00043"></a>00043 <span class="keyword">struct </span>reverse_dispatch&lt;GeometryId, GeometryId&gt; : boost::false_type {};
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 } <span class="comment">// namespace detail</span>
+<a name="l00047"></a>00047 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00048"></a>00048 <span class="preprocessor"></span>
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2&gt;
+<a name="l00051"></a><a class="code" href="structggl_1_1reverse__dispatch.html">00051</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch</a> : detail::<a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch</a>
+<a name="l00052"></a>00052 &lt;
+<a name="l00053"></a>00053 geometry_id&lt;Geometry1&gt;::type::value,
+<a name="l00054"></a>00054 geometry_id&lt;Geometry2&gt;::type::value
+<a name="l00055"></a>00055 &gt;
+<a name="l00056"></a>00056 {};
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 } <span class="comment">// namespace ggl</span>
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="preprocessor">#endif // GGL_CORE_REVERSE_DISPATCH_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,130 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/register/ring.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>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ring_8hpp.html#a5379fd615408c2561920ca9a7bda2d3">GEOMETRY_REGISTER_RING</a>(Ring)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ring_8hpp.html#472ca0156e282ee3cd5d91ea5631776b">GEOMETRY_REGISTER_RING_TEMPLATIZED</a>(Ring)</td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="a5379fd615408c2561920ca9a7bda2d3"></a><!-- doxytag: member="ring.hpp::GEOMETRY_REGISTER_RING" ref="a5379fd615408c2561920ca9a7bda2d3" args="(Ring)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_RING </td>
+ <td>(</td>
+ <td class="paramtype">Ring&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>traits { \
+ <span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span>tag&lt;Ring&gt; { <span class="keyword">typedef</span> ring_tag type; }; \
+}}
+</pre></div><dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="c04__a__custom__triangle__example_8cpp-example.html#a0">c04_a_custom_triangle_example.cpp</a>, and <a class="el" href="x01__qt__example_8cpp-example.html#a1">x01_qt_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="ring_8hpp_source.html#l00016">16</a> of file <a class="el" href="ring_8hpp_source.html">ring.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="472ca0156e282ee3cd5d91ea5631776b"></a><!-- doxytag: member="ring.hpp::GEOMETRY_REGISTER_RING_TEMPLATIZED" ref="472ca0156e282ee3cd5d91ea5631776b" args="(Ring)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GEOMETRY_REGISTER_RING_TEMPLATIZED </td>
+ <td>(</td>
+ <td class="paramtype">Ring&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>traits { \
+ <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt; <span class="keyword">struct </span>tag&lt; Ring&lt;P&gt; &gt; { <span class="keyword">typedef</span> ring_tag type; }; \
+}}
+</pre></div><dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="c04__b__custom__triangle__example_8cpp-example.html#a0">c04_b_custom_triangle_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="ring_8hpp_source.html#l00022">22</a> of file <a class="el" href="ring_8hpp_source.html">ring.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,93 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/register/ring.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_REGISTER_RING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_REGISTER_RING_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a><a class="code" href="ring_8hpp.html#a5379fd615408c2561920ca9a7bda2d3">00016</a> <span class="preprocessor">#define GEOMETRY_REGISTER_RING(Ring) \</span>
+<a name="l00017"></a>00017 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00018"></a>00018 <span class="preprocessor"> template&lt;&gt; struct tag&lt;Ring&gt; { typedef ring_tag type; }; \</span>
+<a name="l00019"></a>00019 <span class="preprocessor">}}</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span>
+<a name="l00021"></a>00021
+<a name="l00022"></a><a class="code" href="ring_8hpp.html#472ca0156e282ee3cd5d91ea5631776b">00022</a> <span class="preprocessor">#define GEOMETRY_REGISTER_RING_TEMPLATIZED(Ring) \</span>
+<a name="l00023"></a>00023 <span class="preprocessor">namespace ggl { namespace traits { \</span>
+<a name="l00024"></a>00024 <span class="preprocessor"> template&lt;typename P&gt; struct tag&lt; Ring&lt;P&gt; &gt; { typedef ring_tag type; }; \</span>
+<a name="l00025"></a>00025 <span class="preprocessor">}}</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#endif // GGL_GEOMETRIES_REGISTER_RING_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/ring_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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing&lt; R &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring&lt; R &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks (linear) <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,136 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/ring_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_CORE_CONCEPTS_RING_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CONCEPTS_RING_CONCEPT_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/concepts.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="clear_8hpp.html">ggl/algorithms/clear.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="append_8hpp.html">ggl/algorithms/append.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R&gt;
+<a name="l00037"></a><a class="code" href="structggl_1_1concept_1_1_ring.html">00037</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a>
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">private</span> :
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;R&gt;::type</a> P;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;P&gt;</a>) );
+<a name="l00043"></a>00043 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;R&gt;) );
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">public</span> :
+<a name="l00048"></a><a class="code" href="structggl_1_1concept_1_1_ring.html#eb5f0045673fa11f20e4b48856a4bf69">00048</a> <a class="code" href="structggl_1_1concept_1_1_ring.html#eb5f0045673fa11f20e4b48856a4bf69" title="BCCL macro to check the Ring concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a>)
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="comment">// Check if it can be modified</span>
+<a name="l00051"></a>00051 R* ls;
+<a name="l00052"></a>00052 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>(*ls);
+<a name="l00053"></a>00053 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(*ls, P());
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055 };
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R&gt;
+<a name="l00065"></a><a class="code" href="structggl_1_1concept_1_1_const_ring.html">00065</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_const_ring.html" title="Checks (linear) ring concept (const version).">ConstRing</a>
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keyword">private</span> :
+<a name="l00068"></a>00068 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;R&gt;::type</a> P;
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint&lt;P&gt;</a>) );
+<a name="l00071"></a>00071 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept&lt;R&gt;) );
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keyword">public</span> :
+<a name="l00075"></a><a class="code" href="structggl_1_1concept_1_1_const_ring.html#1b6553b6ed0d5716bbc0044f7f29cfb2">00075</a> <a class="code" href="structggl_1_1concept_1_1_const_ring.html#1b6553b6ed0d5716bbc0044f7f29cfb2" title="BCCL macro to check the ConstLinearRing concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_ring.html" title="Checks (linear) ring concept (const version).">ConstRing</a>)
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078 };
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="preprocessor">#endif // GGL_CORE_CONCEPTS_RING_CONCEPT_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/segment.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment.html">ggl::segment&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>: small containing two (templatized) <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> references. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,159 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/segment.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_SEGMENT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_SEGMENT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/concept/assert.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/type_traits/is_const.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</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="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt;
+<a name="l00035"></a><a class="code" href="structggl_1_1segment.html">00035</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">private</span>:
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 BOOST_CONCEPT_ASSERT( (<span class="keyword">typename</span> boost::mpl::if_
+<a name="l00040"></a>00040 &lt;
+<a name="l00041"></a>00041 boost::is_const&lt;P&gt;,
+<a name="l00042"></a>00042 <a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint&lt;P&gt;</a>,
+<a name="l00043"></a>00043 <a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;P&gt;</a>
+<a name="l00044"></a>00044 &gt;
+<a name="l00045"></a>00045 ) );
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">public</span>:
+<a name="l00048"></a>00048
+<a name="l00049"></a><a class="code" href="structggl_1_1segment.html#47f8bba55326d5ae988dc3a5a9f146c7">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
+<a name="l00051"></a><a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">00051</a> P&amp; <a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a>;
+<a name="l00052"></a><a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">00052</a> P&amp; <a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a>;
+<a name="l00053"></a>00053
+<a name="l00054"></a><a class="code" href="structggl_1_1segment.html#e8e37a9f4eeacb317a1ce971da6cbd87">00054</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1segment.html#e8e37a9f4eeacb317a1ce971da6cbd87">segment</a>(P&amp; p1, P&amp; p2)
+<a name="l00055"></a>00055 : <a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a>(p1), <a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a>(p2)
+<a name="l00056"></a>00056 {}
+<a name="l00057"></a>00057 };
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="comment">// Traits specializations for segment above</span>
+<a name="l00060"></a>00060 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00065"></a>00065 <span class="keyword">struct </span>tag&lt; segment&lt;P&gt; &gt;
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keyword">typedef</span> segment_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00068"></a>00068 };
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00071"></a>00071 <span class="keyword">struct </span>point_type&lt;segment&lt;P&gt; &gt;
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keyword">typedef</span> P type;
+<a name="l00074"></a>00074 };
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D&gt;
+<a name="l00077"></a>00077 <span class="keyword">struct </span>indexed_access&lt;segment&lt;P&gt;, I, D&gt;
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keyword">typedef</span> segment&lt;P&gt; segment_type;
+<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;segment_type&gt;::type</a> coordinate_type;
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(segment_type <span class="keyword">const</span>&amp; s)
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 <span class="keywordflow">return</span> (I == 0 ? ggl::get&lt;D&gt;(s.first) : ggl::get&lt;D&gt;(s.second));
+<a name="l00085"></a>00085 }
+<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> <span class="keyword">set</span>(segment_type&amp; s, coordinate_type <span class="keyword">const</span>&amp; value)
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <span class="keywordflow">if</span> (I == 0)
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 ggl::set&lt;D&gt;(s.first, value);
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093 <span class="keywordflow">else</span>
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 ggl::set&lt;D&gt;(s.second, value);
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 };
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 } <span class="comment">// namespace traits</span>
+<a name="l00101"></a>00101 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00102"></a>00102 <span class="preprocessor"></span>
+<a name="l00103"></a>00103 } <span class="comment">// namespace ggl</span>
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="preprocessor">#endif // GGL_GEOMETRIES_SEGMENT_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,94 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/segment_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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment&lt; S &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstSegment&lt; S &gt;::dimension_checker&lt; C, D, N &gt;</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstSegment&lt; S &gt;::dimension_checker&lt; C, N, N &gt;</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment&lt; S &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::Segment&lt; S &gt;::dimension_checker&lt; C, D, N &gt;</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::concept::Segment&lt; S &gt;::dimension_checker&lt; C, N, N &gt;</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,170 @@
+<!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">
+&nbsp;&nbsp;
+</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/concepts/segment_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_CORE_CONCEPTS_SEGMENT_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CONCEPTS_SEGMENT_CONCEPT_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/concept_check.hpp&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00033"></a><a class="code" href="structggl_1_1concept_1_1_segment.html">00033</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a>
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keyword">private</span> :
+<a name="l00036"></a>00036 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;S&gt;::type</a> P;
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;P&gt;</a>) );
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040
+<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00043"></a>00043 <span class="keyword">struct </span>dimension_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 S* s;
+<a name="l00048"></a>00048 ggl::set&lt;C, D&gt;(*s, ggl::get&lt;C, D&gt;(*s));
+<a name="l00049"></a>00049 dimension_checker&lt;C, D + 1, N&gt;::check();
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051 };
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00054"></a>00054 <span class="keyword">struct </span>dimension_checker&lt;C, N, N&gt;
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
+<a name="l00057"></a>00057 };
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keyword">public</span> :
+<a name="l00061"></a><a class="code" href="structggl_1_1concept_1_1_segment.html#d2e340dff544a40ed257a1823dfd4749">00061</a> <a class="code" href="structggl_1_1concept_1_1_segment.html#d2e340dff544a40ed257a1823dfd4749" title="BCCL macro to check the Segment concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a>)
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;P&gt;::value</a>;
+<a name="l00064"></a>00064 dimension_checker&lt;0, 0, N&gt;::check();
+<a name="l00065"></a>00065 dimension_checker&lt;1, 0, N&gt;::check();
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067 };
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069
+<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00077"></a><a class="code" href="structggl_1_1concept_1_1_const_segment.html">00077</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_const_segment.html" title="Checks Segment concept (const version).">ConstSegment</a>
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keyword">private</span> :
+<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;S&gt;::type</a> P;
+<a name="l00081"></a>00081 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;S&gt;::type</a> T;
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint&lt;P&gt;</a>) );
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085
+<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00088"></a>00088 <span class="keyword">struct </span>dimension_checker
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <span class="keyword">const</span> S* s = 0;
+<a name="l00093"></a>00093 T coord(ggl::get&lt;C, D&gt;(*s));
+<a name="l00094"></a>00094 boost::ignore_unused_variable_warning(coord);
+<a name="l00095"></a>00095 dimension_checker&lt;C, D + 1, N&gt;::check();
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097 };
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> N&gt;
+<a name="l00100"></a>00100 <span class="keyword">struct </span>dimension_checker&lt;C, N, N&gt;
+<a name="l00101"></a>00101 {
+<a name="l00102"></a>00102 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
+<a name="l00103"></a>00103 };
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keyword">public</span> :
+<a name="l00107"></a><a class="code" href="structggl_1_1concept_1_1_const_segment.html#79691668dde1be67b7a497a6b1cd31ce">00107</a> <a class="code" href="structggl_1_1concept_1_1_const_segment.html#79691668dde1be67b7a497a6b1cd31ce" title="BCCL macro to check the ConstSegment concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_segment.html" title="Checks Segment concept (const version).">ConstSegment</a>)
+<a name="l00108"></a>00108 {
+<a name="l00109"></a>00109 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;P&gt;::value</a>;
+<a name="l00110"></a>00110 dimension_checker&lt;0, 0, N&gt;::check();
+<a name="l00111"></a>00111 dimension_checker&lt;1, 0, N&gt;::check();
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113 };
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="preprocessor">#endif // GGL_CORE_CONCEPTS_SEGMENT_CONCEPT_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__identifier_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__identifier_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,78 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/segment_identifier.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__identifier.html">ggl::segment_identifier</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__identifier_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__identifier_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,151 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/segment_identifier.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_ALGORITHMS_OVERLAY_SEGMENT_IDENTIFIER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_OVERLAY_SEGMENT_IDENTIFIER_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="comment">// Internal struct to uniquely identify a segment</span>
+<a name="l00026"></a>00026 <span class="comment">// on a linestring,ring</span>
+<a name="l00027"></a>00027 <span class="comment">// or polygon (needs ring_index)</span>
+<a name="l00028"></a>00028 <span class="comment">// or multi-geometry (needs multi_index)</span>
+<a name="l00029"></a><a class="code" href="structggl_1_1segment__identifier.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1segment__identifier.html">segment_identifier</a>
+<a name="l00030"></a>00030 {
+<a name="l00031"></a><a class="code" href="structggl_1_1segment__identifier.html#eacab9f8a085d618b6259cc5233e65b0">00031</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1segment__identifier.html#eacab9f8a085d618b6259cc5233e65b0">segment_identifier</a>()
+<a name="l00032"></a>00032 : <a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a>(-1)
+<a name="l00033"></a>00033 , <a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a>(-1)
+<a name="l00034"></a>00034 , <a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a>(-1)
+<a name="l00035"></a>00035 , <a class="code" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">segment_index</a>(-1)
+<a name="l00036"></a>00036 {}
+<a name="l00037"></a>00037
+<a name="l00038"></a><a class="code" href="structggl_1_1segment__identifier.html#234763767167c7173155b563fc4586d1">00038</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1segment__identifier.html#eacab9f8a085d618b6259cc5233e65b0">segment_identifier</a>(<span class="keywordtype">int</span> src, <span class="keywordtype">int</span> mul, <span class="keywordtype">int</span> rin, <span class="keywordtype">int</span> seg)
+<a name="l00039"></a>00039 : <a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a>(src)
+<a name="l00040"></a>00040 , <a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a>(mul)
+<a name="l00041"></a>00041 , <a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a>(rin)
+<a name="l00042"></a>00042 , <a class="code" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">segment_index</a>(seg)
+<a name="l00043"></a>00043 {}
+<a name="l00044"></a>00044
+<a name="l00045"></a><a class="code" href="structggl_1_1segment__identifier.html#f8c4506cd779593ac4e369b96927123c">00045</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1segment__identifier.html#f8c4506cd779593ac4e369b96927123c">operator&lt;</a>(<a class="code" href="structggl_1_1segment__identifier.html">segment_identifier</a> <span class="keyword">const</span>&amp; other)<span class="keyword"> const</span>
+<a name="l00046"></a>00046 <span class="keyword"> </span>{
+<a name="l00047"></a>00047 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a> != other.<a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a> ? <a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a> &lt; other.<a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a>
+<a name="l00048"></a>00048 : <a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a> !=other.<a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a> ? <a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a> &lt; other.<a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a>
+<a name="l00049"></a>00049 : <a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a> != other.<a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a> ? <a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a> &lt; other.<a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a>
+<a name="l00050"></a>00050 : <a class="code" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">segment_index</a> &lt; other.<a class="code" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">segment_index</a>
+<a name="l00051"></a>00051 ;
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053
+<a name="l00054"></a><a class="code" href="structggl_1_1segment__identifier.html#fcb85b5b91f3c3b9fb67ef8851a154eb">00054</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1segment__identifier.html#fcb85b5b91f3c3b9fb67ef8851a154eb">operator==</a>(<a class="code" href="structggl_1_1segment__identifier.html">segment_identifier</a> <span class="keyword">const</span>&amp; other)<span class="keyword"> const</span>
+<a name="l00055"></a>00055 <span class="keyword"> </span>{
+<a name="l00056"></a>00056 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a> == other.<a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a>
+<a name="l00057"></a>00057 &amp;&amp; <a class="code" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">segment_index</a> == other.<a class="code" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">segment_index</a>
+<a name="l00058"></a>00058 &amp;&amp; <a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a> == other.<a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a>
+<a name="l00059"></a>00059 &amp;&amp; <a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a> == other.<a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a>
+<a name="l00060"></a>00060 ;
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00064"></a>00064 <span class="preprocessor"></span> <span class="keyword">friend</span> std::ostream&amp; operator&lt;&lt;(std::ostream &amp;os, <a class="code" href="structggl_1_1segment__identifier.html">segment_identifier</a> <span class="keyword">const</span>&amp; seg_id)
+<a name="l00065"></a>00065 {
+<a name="l00066"></a>00066 std::cout
+<a name="l00067"></a>00067 &lt;&lt; <span class="stringliteral">"s:"</span> &lt;&lt; seg_id.<a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a>
+<a name="l00068"></a>00068 &lt;&lt; <span class="stringliteral">", v:"</span> &lt;&lt; seg_id.<a class="code" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">segment_index</a> <span class="comment">// vertex</span>
+<a name="l00069"></a>00069 ;
+<a name="l00070"></a>00070 <span class="keywordflow">if</span> (seg_id.<a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a> &gt;= 0) std::cout &lt;&lt; <span class="stringliteral">", r:"</span> &lt;&lt; seg_id.<a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a>;
+<a name="l00071"></a>00071 <span class="keywordflow">if</span> (seg_id.<a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a> &gt;= 0) std::cout &lt;&lt; <span class="stringliteral">", m:"</span> &lt;&lt; seg_id.<a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a>;
+<a name="l00072"></a>00072 <span class="keywordflow">return</span> os;
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074 <span class="preprocessor">#endif</span>
+<a name="l00075"></a>00075 <span class="preprocessor"></span>
+<a name="l00076"></a><a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">00076</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a>;
+<a name="l00077"></a><a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">00077</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a>;
+<a name="l00078"></a><a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">00078</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a>;
+<a name="l00079"></a><a class="code" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">00079</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">segment_index</a>;
+<a name="l00080"></a>00080 };
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 } <span class="comment">// namespace ggl</span>
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAY_SEGMENT_IDENTIFIER_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/segment_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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&lt;typename C &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">segment_iterator&lt; typename <br class="typebreak">
+C::iterator, typename <br class="typebreak">
+C::value_type &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#be0f21b6c5bbffed69487d17fd970454">ggl::make_segment_iterator</a> (C &amp;c)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Base , typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#a69739049ea926bb41bd9c9ffdaba2a5">ggl::operator!=</a> (segment_iterator&lt; Base, Point &gt; const &amp;lhs, segment_iterator&lt; Base, Point &gt; const &amp;rhs)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Base , typename Point &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#82646d087871f2c3ac0f6daad6f6f3ba">ggl::operator==</a> (segment_iterator&lt; Base, Point &gt; const &amp;lhs, segment_iterator&lt; Base, Point &gt; const &amp;rhs)</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,204 @@
+<!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">
+&nbsp;&nbsp;
+</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/segment_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">// Copyright Mateusz Loskot 2009, mateusz_at_[hidden]</span>
+<a name="l00006"></a>00006 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00007"></a>00007 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00008"></a>00008 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_ITERATORS_SEGMENT_ITERATOR_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ITERATORS_SEGMENT_ITERATOR_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013 <span class="comment">// TODO: This is very experimental version of input iterator</span>
+<a name="l00014"></a>00014 <span class="comment">// reading collection of points as segments - proof of concept.</span>
+<a name="l00015"></a>00015 <span class="comment">// --mloskot</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="comment">// TODO: Move to boost::iterator_adaptor</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;iterator&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;boost/assert.hpp&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;boost/iterator.hpp&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;boost/iterator/iterator_adaptor.hpp&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;boost/iterator/iterator_categories.hpp&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="equals_8hpp.html">ggl/algorithms/equals.hpp</a>&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Base, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00033"></a><a class="code" href="structggl_1_1segment__iterator.html">00033</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1segment__iterator.html">segment_iterator</a>
+<a name="l00034"></a>00034 {
+<a name="l00035"></a><a class="code" href="structggl_1_1segment__iterator.html#2670ce6fa8403a2da8b1b79c9a62ef47">00035</a> <span class="keyword">typedef</span> Base <a class="code" href="structggl_1_1segment__iterator.html#2670ce6fa8403a2da8b1b79c9a62ef47">base_type</a>;
+<a name="l00036"></a><a class="code" href="structggl_1_1segment__iterator.html#e388acc7d123761a41a0132ed0b19d29">00036</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="l00037"></a><a class="code" href="structggl_1_1segment__iterator.html#410f1a0aa22f7f4fb6c0850213aba66d">00037</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1segment.html">ggl::segment&lt;Point&gt;</a> <a class="code" href="structggl_1_1segment.html">segment_type</a>;
+<a name="l00038"></a>00038
+<a name="l00039"></a><a class="code" href="structggl_1_1segment__iterator.html#8f0ff7afda611c09fb9df03c70c99d76">00039</a> <span class="keyword">typedef</span> std::input_iterator_tag <a class="code" href="structggl_1_1segment__iterator.html#8f0ff7afda611c09fb9df03c70c99d76">iterator_category</a>;
+<a name="l00040"></a><a class="code" href="structggl_1_1segment__iterator.html#e3d45134f345df9ec7aa89f8e2e95bdf">00040</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;Base&gt;::difference_type <a class="code" href="structggl_1_1segment__iterator.html#e3d45134f345df9ec7aa89f8e2e95bdf">difference_type</a>;
+<a name="l00041"></a><a class="code" href="structggl_1_1segment__iterator.html#e7521e2f53256bf6bd96b99079c92b4f">00041</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1segment.html">segment_type</a> <a class="code" href="structggl_1_1segment.html">value_type</a>;
+<a name="l00042"></a><a class="code" href="structggl_1_1segment__iterator.html#fe664c6678e12e841a1c0be1e77e53a0">00042</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1segment.html">segment_type</a>* <a class="code" href="structggl_1_1segment.html">pointer</a>;
+<a name="l00043"></a><a class="code" href="structggl_1_1segment__iterator.html#71b04f78cf84d967d8d11ec092d54dcc">00043</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1segment.html">segment_type</a>&amp; <a class="code" href="structggl_1_1segment.html">reference</a>;
+<a name="l00044"></a>00044
+<a name="l00045"></a><a class="code" href="structggl_1_1segment__iterator.html#64fa7cd0ce95c704f4a40bdc914cffbb">00045</a> <span class="keyword">explicit</span> <a class="code" href="structggl_1_1segment__iterator.html#64fa7cd0ce95c704f4a40bdc914cffbb">segment_iterator</a>(Base <span class="keyword">const</span>&amp; end)
+<a name="l00046"></a>00046 : m_segment(p1 , p2)
+<a name="l00047"></a>00047 , m_prev(end)
+<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>&amp; it, Base <span class="keyword">const</span>&amp; 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 &amp;&amp; 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-&gt;</a>()
+<a name="l00079"></a>00079 {
+<a name="l00080"></a>00080 <span class="keywordflow">return</span> &amp;(<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>&amp; <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="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>&amp; <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="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> &lt;<span class="keyword">typename</span> Base, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<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&lt;Base, Point&gt;</a> <span class="keyword">const</span>&amp; lhs,
+<a name="l00112"></a>00112 <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator&lt;Base, Point&gt;</a> <span class="keyword">const</span>&amp; 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> &lt;<span class="keyword">typename</span> Base, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<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&lt;Base, Point&gt;</a> <span class="keyword">const</span>&amp; lhs,
+<a name="l00119"></a>00119 <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator&lt;Base, Point&gt;</a> <span class="keyword">const</span>&amp; 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> &lt;<span class="keyword">typename</span> C&gt;
+<a name="l00125"></a>00125 segment_iterator
+<a name="l00126"></a>00126 &lt;
+<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 &gt;
+<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&amp; 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&lt;base_iterator, point_type&gt;</a>(c.begin(), c.end());
+<a name="l00135"></a>00135 }
+<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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__coordinate__type_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__coordinate__type_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/util/select_coordinate_type.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__coordinate__type.html">ggl::select_coordinate_type&lt; T1, T2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Utility selecting the most precise coordinate type of two geometries. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__coordinate__type_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__coordinate__type_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,97 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/util/select_coordinate_type.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 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_SELECT_COORDINATE_TYPE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_SELECT_COORDINATE_TYPE_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 &lt;<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="select__most__precise_8hpp.html">ggl/util/select_most_precise.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<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="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00029"></a><a class="code" href="structggl_1_1select__coordinate__type.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type</a>
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00032"></a>00032 &lt;
+<a name="l00033"></a>00033 <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&lt;T1&gt;::type</a>,
+<a name="l00034"></a>00034 <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&lt;T2&gt;::type</a>
+<a name="l00035"></a><a class="code" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">00035</a> &gt;<a class="code" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">::type</a> <a class="code" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">type</a>;
+<a name="l00036"></a>00036 };
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 } <span class="comment">// namespace ggl</span>
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="preprocessor">#endif // GGL_UTIL_SELECT_COORDINATE_TYPE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__most__precise_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__most__precise_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/util/select_most_precise.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise&lt; T1, T2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class to select, of two types, the most accurate type for calculations. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__most__precise_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__most__precise_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,201 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/util/select_most_precise.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_SELECT_MOST_PRECISE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_SELECT_MOST_PRECISE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015
+<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>
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>select_most_precise {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="comment">// At least one of the types is non-fundamental. Take that one.</span>
+<a name="l00029"></a>00029 <span class="comment">// if both are non-fundamental, the type-to-be-selected</span>
+<a name="l00030"></a>00030 <span class="comment">// is unknown, it should be defined by explicit specialization.</span>
+<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keywordtype">bool</span> Fundamental1, <span class="keywordtype">bool</span> Fundamental2, <span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00032"></a>00032 <span class="keyword">struct </span>select_non_fundamental
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> T1 type;
+<a name="l00035"></a>00035 };
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00038"></a>00038 <span class="keyword">struct </span>select_non_fundamental&lt;true, false, T1, T2&gt;
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> T2 type;
+<a name="l00041"></a>00041 };
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00044"></a>00044 <span class="keyword">struct </span>select_non_fundamental&lt;false, true, T1, T2&gt;
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 <span class="keyword">typedef</span> T1 type;
+<a name="l00047"></a>00047 };
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="comment">// Selection of largest type (e.g. int of &lt;short int,int&gt;</span>
+<a name="l00051"></a>00051 <span class="comment">// It defaults takes the first one, if second is larger, take the second one</span>
+<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keywordtype">bool</span> SecondLarger, <span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00053"></a>00053 <span class="keyword">struct </span>select_largest
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 <span class="keyword">typedef</span> T1 type;
+<a name="l00056"></a>00056 };
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00059"></a>00059 <span class="keyword">struct </span>select_largest&lt;true, T1, T2&gt;
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keyword">typedef</span> T2 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="comment">// Selection of floating point and specializations:</span>
+<a name="l00067"></a>00067 <span class="comment">// both FP or both !FP does never occur...</span>
+<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keywordtype">bool</span> FP1, <span class="keywordtype">bool</span> FP2, <span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00069"></a>00069 <span class="keyword">struct </span>select_floating_point
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keyword">typedef</span> <span class="keywordtype">char</span> type;
+<a name="l00072"></a>00072 };
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="comment">// ... so if ONE but not both of these types is floating point, take that one</span>
+<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00077"></a>00077 <span class="keyword">struct </span>select_floating_point&lt;true, false, T1, T2&gt;
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keyword">typedef</span> T1 type;
+<a name="l00080"></a>00080 };
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00084"></a>00084 <span class="keyword">struct </span>select_floating_point&lt;false, true, T1, T2&gt;
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keyword">typedef</span> T2 type;
+<a name="l00087"></a>00087 };
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 }} <span class="comment">// namespace detail::select_most_precise</span>
+<a name="l00091"></a>00091 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00092"></a>00092 <span class="preprocessor"></span>
+<a name="l00093"></a>00093
+<a name="l00114"></a>00114 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
+<a name="l00115"></a><a class="code" href="structggl_1_1select__most__precise.html">00115</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00116"></a>00116 {
+<a name="l00117"></a><a class="code" href="structggl_1_1select__most__precise.html#0d0774307858675158899fb96abd12ec">00117</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1select__most__precise.html#0d0774307858675158899fb96abd12ec">second_larger</a> = <span class="keyword">sizeof</span>(T2) &gt; <span class="keyword">sizeof</span>(T1);
+<a name="l00118"></a><a class="code" href="structggl_1_1select__most__precise.html#2da9be6ed1e727dadb061da08e0576c2">00118</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1select__most__precise.html#2da9be6ed1e727dadb061da08e0576c2">one_not_fundamental</a> = !
+<a name="l00119"></a>00119 (boost::is_fundamental&lt;T1&gt;::type::value
+<a name="l00120"></a>00120 &amp;&amp; boost::is_fundamental&lt;T2&gt;::type::value);
+<a name="l00121"></a>00121
+<a name="l00122"></a><a class="code" href="structggl_1_1select__most__precise.html#606ead26747f5bc9bb5ec53248fd61f7">00122</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1select__most__precise.html#606ead26747f5bc9bb5ec53248fd61f7">both_same</a> =
+<a name="l00123"></a>00123 boost::is_floating_point&lt;T1&gt;::type::value
+<a name="l00124"></a>00124 == boost::is_floating_point&lt;T2&gt;::type::value;
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00127"></a>00127 &lt;
+<a name="l00128"></a>00128 <a class="code" href="structggl_1_1select__most__precise.html#2da9be6ed1e727dadb061da08e0576c2">one_not_fundamental</a>,
+<a name="l00129"></a>00129 <span class="keyword">typename</span> detail::select_most_precise::select_non_fundamental
+<a name="l00130"></a>00130 &lt;
+<a name="l00131"></a>00131 boost::is_fundamental&lt;T1&gt;::type::value,
+<a name="l00132"></a>00132 boost::is_fundamental&lt;T2&gt;::type::value,
+<a name="l00133"></a>00133 T1,
+<a name="l00134"></a>00134 T2
+<a name="l00135"></a>00135 &gt;<a class="code" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">::type</a>,
+<a name="l00136"></a>00136 <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00137"></a>00137 &lt;
+<a name="l00138"></a>00138 <a class="code" href="structggl_1_1select__most__precise.html#606ead26747f5bc9bb5ec53248fd61f7">both_same</a>,
+<a name="l00139"></a>00139 <span class="keyword">typename</span> detail::select_most_precise::select_largest
+<a name="l00140"></a>00140 &lt;
+<a name="l00141"></a>00141 <a class="code" href="structggl_1_1select__most__precise.html#0d0774307858675158899fb96abd12ec">second_larger</a>,
+<a name="l00142"></a>00142 T1,
+<a name="l00143"></a>00143 T2
+<a name="l00144"></a>00144 &gt;<a class="code" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">::type</a>,
+<a name="l00145"></a>00145 <span class="keyword">typename</span> detail::select_most_precise::select_floating_point
+<a name="l00146"></a>00146 &lt;
+<a name="l00147"></a>00147 boost::is_floating_point&lt;T1&gt;::type::value,
+<a name="l00148"></a>00148 boost::is_floating_point&lt;T2&gt;::type::value,
+<a name="l00149"></a>00149 T1,
+<a name="l00150"></a>00150 T2
+<a name="l00151"></a>00151 &gt;<a class="code" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">::type</a>
+<a name="l00152"></a>00152 &gt;<a class="code" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">::type</a>
+<a name="l00153"></a><a class="code" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">00153</a> &gt;<a class="code" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">::type</a> <a class="code" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</a>;
+<a name="l00154"></a>00154 };
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 } <span class="comment">// namespace ggl</span>
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 <span class="preprocessor">#endif // GGL_UTIL_SELECT_MOST_PRECISE_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/selected.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 &nbsp;</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&lt;typename G , typename P , typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3">ggl::selected</a> (G const &amp;geometry, P const &amp;selection_point, T const &amp;search_radius)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if one geometry is selected by a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> lying within or in the neighborhood of that geometry. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,307 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/selected.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_ALGORITHMS_SELECTED_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_SELECTED_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cmath&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="core_2topological__dimension_8hpp.html">ggl/core/topological_dimension.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="nsphere__concept_8hpp.html">ggl/core/concepts/nsphere_concept.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<a name="l00038"></a>00038 <span class="keyword">namespace </span>ggl
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040
+<a name="l00044"></a>00044 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a> {
+<a name="l00046"></a>00046
+<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00053"></a>00053 <span class="keyword">struct </span>differences_loop
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P1 <span class="keyword">const</span>&amp; p1, P2 <span class="keyword">const</span>&amp; p2, T <span class="keyword">const</span>&amp; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>, T&amp; sum)
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type&lt;P1, P2&gt;::type coordinate_type;
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 coordinate_type <span class="keyword">const</span> c1 = boost::numeric_cast&lt;coordinate_type&gt;(get&lt;D&gt;(p1));
+<a name="l00060"></a>00060 coordinate_type <span class="keyword">const</span> c2 = boost::numeric_cast&lt;coordinate_type&gt;(get&lt;D&gt;(p2));
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 T <span class="keyword">const</span> d = std::abs(c1 - c2);
+<a name="l00063"></a>00063 <span class="keywordflow">if</span> (d &gt; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>)
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067 sum += d * d;
+<a name="l00068"></a>00068 <span class="keywordflow">return</span> differences_loop&lt;P1, P2, T, D + 1, N&gt;::apply(p1, p2, <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>, sum);
+<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> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00073"></a>00073 <span class="keyword">struct </span>differences_loop&lt;P1, P2, T, N, N&gt;
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P1 <span class="keyword">const</span>&amp;, P2 <span class="keyword">const</span>&amp;, T <span class="keyword">const</span>&amp;, T&amp;)
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00084"></a>00084 <span class="keyword">struct </span>outside_loop
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(S <span class="keyword">const</span>&amp; seg, P <span class="keyword">const</span>&amp; point, T <span class="keyword">const</span>&amp; <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>)
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type&lt;S, P&gt;::type coordinate_type;
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 coordinate_type <span class="keyword">const</span> v = boost::numeric_cast&lt;coordinate_type&gt;(get&lt;D&gt;(point));
+<a name="l00091"></a>00091 coordinate_type <span class="keyword">const</span> s1 = get&lt;0, D&gt;(seg);
+<a name="l00092"></a>00092 coordinate_type <span class="keyword">const</span> s2 = get&lt;1, D&gt;(seg);
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="comment">// Out of reach if left/bottom or right/top of both points making up the segment</span>
+<a name="l00095"></a>00095 <span class="comment">// I know and currently accept that these comparisons/calculations are done twice per point</span>
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="keywordflow">if</span> ((v &lt; s1 - <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a> &amp;&amp; v &lt; s2 - <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>) || (v &gt; s1 + <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a> &amp;&amp; v &gt; s2 + <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>))
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101 <span class="keywordflow">return</span> outside_loop&lt;S, P, T, D + 1, N&gt;::apply(seg, point, <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>);
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103 };
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> N&gt;
+<a name="l00106"></a>00106 <span class="keyword">struct </span>outside_loop&lt;S, P, T, N, N&gt;
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(S <span class="keyword">const</span>&amp;, P <span class="keyword">const</span>&amp;, T <span class="keyword">const</span>&amp;)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112 };
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> T&gt;
+<a name="l00116"></a>00116 <span class="keyword">struct </span>close_to_point
+<a name="l00117"></a>00117 {
+<a name="l00118"></a>00118 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P1 <span class="keyword">const</span>&amp; point, P1 <span class="keyword">const</span>&amp; selection_point, T <span class="keyword">const</span>&amp; search_radius)
+<a name="l00119"></a>00119 {
+<a name="l00120"></a>00120 assert_dimension_equal&lt;P1, P2&gt;();
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 T sum = 0;
+<a name="l00123"></a>00123 <span class="keywordflow">if</span> (differences_loop
+<a name="l00124"></a>00124 &lt;
+<a name="l00125"></a>00125 P1, P2, T, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;P1&gt;::type::value</a>
+<a name="l00126"></a>00126 &gt;::apply(point, selection_point, search_radius, sum))
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 <span class="keywordflow">return</span> sum &lt;= search_radius * search_radius;
+<a name="l00129"></a>00129 }
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00132"></a>00132 }
+<a name="l00133"></a>00133 };
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T&gt;
+<a name="l00136"></a>00136 <span class="keyword">struct </span>close_to_segment
+<a name="l00137"></a>00137 {
+<a name="l00138"></a>00138 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(S <span class="keyword">const</span>&amp; seg, P <span class="keyword">const</span>&amp; selection_point, T <span class="keyword">const</span>&amp; search_radius)
+<a name="l00139"></a>00139 {
+<a name="l00140"></a>00140 assert_dimension_equal&lt;S, P&gt;();
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 <span class="keywordflow">if</span> (! outside_loop
+<a name="l00143"></a>00143 &lt;
+<a name="l00144"></a>00144 S, P, T, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;P&gt;::type::value</a>
+<a name="l00145"></a>00145 &gt;::apply(seg, selection_point, search_radius))
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 <span class="comment">// Not outside, calculate dot product/square distance to segment.</span>
+<a name="l00148"></a>00148 <span class="comment">// Call corresponding strategy</span>
+<a name="l00149"></a>00149 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_distance_segment
+<a name="l00150"></a>00150 &lt;
+<a name="l00151"></a>00151 <span class="keyword">typename</span> cs_tag&lt;P&gt;::type,
+<a name="l00152"></a>00152 <span class="keyword">typename</span> cs_tag&lt;S&gt;::type,
+<a name="l00153"></a>00153 P,
+<a name="l00154"></a>00154 S
+<a name="l00155"></a>00155 &gt;::type strategy_type;
+<a name="l00156"></a>00156 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_type::return_type return_type;
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 strategy_type strategy;
+<a name="l00159"></a>00159 return_type result = strategy(selection_point, seg);
+<a name="l00160"></a>00160 <span class="keywordflow">return</span> result &lt; search_radius;
+<a name="l00161"></a>00161 }
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00164"></a>00164 }
+<a name="l00165"></a>00165 };
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T&gt;
+<a name="l00168"></a>00168 <span class="keyword">struct </span>close_to_range
+<a name="l00169"></a>00169 {
+<a name="l00170"></a>00170 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(R <span class="keyword">const</span>&amp; range, P <span class="keyword">const</span>&amp; selection_point, T <span class="keyword">const</span>&amp; search_radius)
+<a name="l00171"></a>00171 {
+<a name="l00172"></a>00172 assert_dimension_equal&lt;R, P&gt;();
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 std::size_t <span class="keyword">const</span> n = boost::size(range);
+<a name="l00175"></a>00175 <span class="keywordflow">if</span> (n == 0)
+<a name="l00176"></a>00176 {
+<a name="l00177"></a>00177 <span class="comment">// Line with zero points, never close</span>
+<a name="l00178"></a>00178 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00179"></a>00179 }
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;R&gt;::type point_type;
+<a name="l00182"></a>00182 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;R&gt;::type iterator_type;
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 iterator_type it = boost::begin(range);
+<a name="l00185"></a>00185 <span class="keywordflow">if</span> (n == 1)
+<a name="l00186"></a>00186 {
+<a name="l00187"></a>00187 <span class="comment">// Line with one point ==&gt; close to point</span>
+<a name="l00188"></a>00188 <span class="keywordflow">return</span> close_to_point&lt;P, point_type, T&gt;::apply(*it, selection_point, search_radius);
+<a name="l00189"></a>00189 }
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 iterator_type previous = it++;
+<a name="l00192"></a>00192 <span class="keywordflow">while</span>(it != boost::end(range))
+<a name="l00193"></a>00193 {
+<a name="l00194"></a>00194 <span class="keyword">typedef</span> segment&lt;const point_type&gt; segment_type;
+<a name="l00195"></a>00195 segment_type s(*previous, *it);
+<a name="l00196"></a>00196 <span class="keywordflow">if</span> (close_to_segment&lt;segment_type, P, T&gt;::apply(s, selection_point, search_radius))
+<a name="l00197"></a>00197 {
+<a name="l00198"></a>00198 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00199"></a>00199 }
+<a name="l00200"></a>00200 previous = it++;
+<a name="l00201"></a>00201 }
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00204"></a>00204 }
+<a name="l00205"></a>00205 };
+<a name="l00206"></a>00206
+<a name="l00207"></a>00207 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T&gt;
+<a name="l00208"></a>00208 <span class="keyword">struct </span>use_within
+<a name="l00209"></a>00209 {
+<a name="l00210"></a>00210 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(G <span class="keyword">const</span>&amp; geometry, P <span class="keyword">const</span>&amp; selection_point, T <span class="keyword">const</span>&amp; search_radius)
+<a name="l00211"></a>00211 {
+<a name="l00212"></a>00212 <span class="comment">// Note the reversion, point-in-poly -&gt; first point, then poly</span>
+<a name="l00213"></a>00213 <span class="comment">// Selected-at-point -&gt; first geometry, then point</span>
+<a name="l00214"></a>00214 <span class="keywordflow">return</span> dispatch::within&lt;point_tag, Tag, P, G&gt;::apply(selection_point, geometry);
+<a name="l00215"></a>00215 }
+<a name="l00216"></a>00216 };
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218 }} <span class="comment">// namespace detail::selected</span>
+<a name="l00219"></a>00219 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00220"></a>00220 <span class="preprocessor"></span>
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00223"></a>00223 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00224"></a>00224 {
+<a name="l00225"></a>00225
+<a name="l00229"></a>00229 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T&gt;
+<a name="l00230"></a>00230 <span class="keyword">struct </span><a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>
+<a name="l00231"></a>00231 {
+<a name="l00232"></a>00232 };
+<a name="l00233"></a>00233
+<a name="l00234"></a>00234 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> T&gt;
+<a name="l00235"></a>00235 <span class="keyword">struct </span><a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>&lt;point_tag, P1, 0, P2, T&gt; : detail::<a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>::close_to_point&lt;P1, P2, T&gt; { };
+<a name="l00236"></a>00236
+<a name="l00237"></a>00237 <span class="comment">// SEGMENT, TODO HERE (close_to_segment)</span>
+<a name="l00238"></a>00238
+<a name="l00239"></a>00239 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> L, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T&gt;
+<a name="l00240"></a>00240 <span class="keyword">struct </span><a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>&lt;linestring_tag, L, 1, P, T&gt; : detail::<a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>::close_to_range&lt;L, P, T&gt; { };
+<a name="l00241"></a>00241
+<a name="l00242"></a>00242 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T&gt;
+<a name="l00243"></a>00243 <span class="keyword">struct </span><a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>&lt;Tag, G, 2, P, T&gt; : detail::<a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>::use_within&lt;Tag, G, P, T&gt; { };
+<a name="l00244"></a>00244
+<a name="l00245"></a>00245 } <span class="comment">// namespace dispatch</span>
+<a name="l00246"></a>00246 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00247"></a>00247 <span class="preprocessor"></span>
+<a name="l00248"></a>00248
+<a name="l00261"></a>00261 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T&gt;
+<a name="l00262"></a><a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3">00262</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>(G <span class="keyword">const</span>&amp; geometry, P <span class="keyword">const</span>&amp; selection_point, T <span class="keyword">const</span>&amp; search_radius)
+<a name="l00263"></a>00263 {
+<a name="l00264"></a>00264 <span class="keyword">typedef</span> <a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">dispatch::selected</a>
+<a name="l00265"></a>00265 &lt;
+<a name="l00266"></a>00266 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00267"></a>00267 G,
+<a name="l00268"></a>00268 <a class="code" href="structggl_1_1topological__dimension.html" title="Meta-function returning the topological dimension of a geometry.">topological_dimension&lt;G&gt;::value</a>,
+<a name="l00269"></a>00269 P,
+<a name="l00270"></a>00270 T
+<a name="l00271"></a>00271 &gt; selector_type;
+<a name="l00272"></a>00272
+<a name="l00273"></a>00273 <span class="keywordflow">return</span> selector_type::apply(geometry, selection_point, search_radius);
+<a name="l00274"></a>00274 }
+<a name="l00275"></a>00275
+<a name="l00276"></a>00276 } <span class="comment">// namespace ggl</span>
+<a name="l00277"></a>00277
+<a name="l00278"></a>00278 <span class="preprocessor">#endif // GGL_ALGORITHMS_SELECTED_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/self_intersection_points.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 &nbsp;</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&lt;typename Geometry , typename IntersectionPoints &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g402420dc15139d3893450978f30920b9">ggl::get_intersection_points</a> (Geometry const &amp;geometry, IntersectionPoints &amp;intersection_points)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate self intersections of a geometry. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,223 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/self_intersection_points.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_ALGORITHMS_SELF_INTERSECTION_POINTS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_SELF_INTERSECTION_POINTS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="get__intersection__points_8hpp.html">ggl/algorithms/overlay/get_intersection_points.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>self_intersection_points {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">template</span>
+<a name="l00032"></a>00032 &lt;
+<a name="l00033"></a>00033 <span class="keyword">typename</span> Geometry,
+<a name="l00034"></a>00034 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00035"></a>00035 &gt;
+<a name="l00036"></a>00036 <span class="keyword">struct </span>check_ips
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(
+<a name="l00039"></a>00039 Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00040"></a>00040 <span class="keywordtype">bool</span> return_if_found,
+<a name="l00041"></a>00041 IntersectionPoints&amp; intersection_points)
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">ggl::sections</a>
+<a name="l00044"></a>00044 &lt;
+<a name="l00045"></a>00045 <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box &lt; typename ggl::point_type&lt;Geometry&gt;::type</a> &gt;, 1
+<a name="l00046"></a>00046 &gt; sections_type;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 sections_type sec;
+<a name="l00049"></a>00049 <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">ggl::sectionalize</a>(geometry, sec);
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keywordtype">bool</span> trivial = <span class="keyword">true</span>;
+<a name="l00052"></a>00052 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;sections_type&gt;::type
+<a name="l00053"></a>00053 it1 = sec.begin();
+<a name="l00054"></a>00054 it1 != sec.end();
+<a name="l00055"></a>00055 ++it1)
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;sections_type&gt;::type
+<a name="l00058"></a>00058 it2 = sec.begin();
+<a name="l00059"></a>00059 it2 != sec.end();
+<a name="l00060"></a>00060 ++it2)
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 <span class="keywordflow">if</span> (! <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">ggl::disjoint</a>(it1-&gt;bounding_box, it2-&gt;bounding_box)
+<a name="l00063"></a>00063 &amp;&amp; ! it1-&gt;duplicate
+<a name="l00064"></a>00064 &amp;&amp; ! it2-&gt;duplicate
+<a name="l00065"></a>00065 )
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 ggl::detail::get_intersection_points::get_ips_in_sections
+<a name="l00068"></a>00068 &lt;
+<a name="l00069"></a>00069 Geometry, Geometry,
+<a name="l00070"></a>00070 <span class="keyword">typename</span> boost::range_value&lt;sections_type&gt;::type,
+<a name="l00071"></a>00071 <span class="keyword">typename</span> boost::range_value&lt;sections_type&gt;::type,
+<a name="l00072"></a>00072 IntersectionPoints
+<a name="l00073"></a>00073 &gt;::apply(
+<a name="l00074"></a>00074 0, geometry, *it1,
+<a name="l00075"></a>00075 0, geometry, *it2,
+<a name="l00076"></a>00076 return_if_found,
+<a name="l00077"></a>00077 intersection_points, trivial);
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081 <span class="keywordflow">return</span> trivial;
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083 };
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 }} <span class="comment">// namespace detail::self_intersection_points</span>
+<a name="l00087"></a>00087 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00088"></a>00088 <span class="preprocessor"></span>
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00091"></a>00091 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keyword">template</span>
+<a name="l00095"></a>00095 &lt;
+<a name="l00096"></a>00096 <span class="keyword">typename</span> GeometryTag,
+<a name="l00097"></a>00097 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00098"></a>00098 <span class="keyword">typename</span> Geometry,
+<a name="l00099"></a>00099 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 &gt;
+<a name="l00102"></a>00102 <span class="keyword">struct </span>self_intersection_points
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 };
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00108"></a>00108 <span class="keyword">struct </span>self_intersection_points
+<a name="l00109"></a>00109 &lt;
+<a name="l00110"></a>00110 ring_tag, false, Ring,
+<a name="l00111"></a>00111 IntersectionPoints
+<a name="l00112"></a>00112 &gt;
+<a name="l00113"></a>00113 : detail::self_intersection_points::check_ips
+<a name="l00114"></a>00114 &lt;
+<a name="l00115"></a>00115 Ring,
+<a name="l00116"></a>00116 IntersectionPoints
+<a name="l00117"></a>00117 &gt;
+<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>&lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00122"></a>00122 <span class="keyword">struct </span>self_intersection_points
+<a name="l00123"></a>00123 &lt;
+<a name="l00124"></a>00124 polygon_tag, false, Polygon,
+<a name="l00125"></a>00125 IntersectionPoints
+<a name="l00126"></a>00126 &gt;
+<a name="l00127"></a>00127 : detail::self_intersection_points::check_ips
+<a name="l00128"></a>00128 &lt;
+<a name="l00129"></a>00129 Polygon,
+<a name="l00130"></a>00130 IntersectionPoints
+<a name="l00131"></a>00131 &gt;
+<a name="l00132"></a>00132 {};
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 } <span class="comment">// namespace dispatch</span>
+<a name="l00136"></a>00136 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00137"></a>00137 <span class="preprocessor"></span>
+<a name="l00138"></a>00138
+<a name="l00148"></a>00148 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s&gt;
+<a name="l00149"></a><a class="code" href="group__overlay.html#g402420dc15139d3893450978f30920b9">00149</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>(Geometry <span class="keyword">const</span>&amp; geometry,
+<a name="l00150"></a>00150 IntersectionPoints&amp; intersection_points)
+<a name="l00151"></a>00151 {
+<a name="l00152"></a>00152 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type ncg_type;
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="keywordflow">return</span> dispatch::self_intersection_points
+<a name="l00155"></a>00155 &lt;
+<a name="l00156"></a>00156 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;ncg_type&gt;::type</a>,
+<a name="l00157"></a>00157 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;ncg_type&gt;::type::value</a>,
+<a name="l00158"></a>00158 ncg_type,
+<a name="l00159"></a>00159 IntersectionPoints
+<a name="l00160"></a>00160 &gt;::apply(geometry, <span class="keyword">false</span>, intersection_points);
+<a name="l00161"></a>00161 }
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 } <span class="comment">// namespace ggl</span>
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 <span class="preprocessor">#endif // GGL_ALGORITHMS_SELF_INTERSECTION_POINTS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify_linestring.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/spherical/sph_area.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Area calculation by spherical excess. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>ggl::strategy::area::by_spherical_excess&lt; P &gt;::excess_sum</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/spherical/sph_area.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_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="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="haversine_8hpp.html">ggl/strategies/spherical/haversine.hpp</a>&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="strategy__transform_8hpp.html">ggl/strategies/strategy_transform.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="get__cs__as__radian_8hpp.html">ggl/util/get_cs_as_radian.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl
+<a name="l00019"></a>00019 {
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>strategy
+<a name="l00021"></a>00021 {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>
+<a name="l00023"></a>00023 {
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00044"></a>00044 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt;
+<a name="l00045"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">00045</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html" title="Area calculation by spherical excess.">by_spherical_excess</a>
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="keyword">private</span> :
+<a name="l00048"></a>00048 <span class="keyword">struct </span>excess_sum
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keywordtype">double</span> m_sum;
+<a name="l00051"></a>00051 <span class="keywordtype">double</span> m_radius;
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="comment">// TODO: make this 1.0 &amp; implement other construct to let user specify</span>
+<a name="l00054"></a>00054 <span class="keyword">inline</span> excess_sum(<span class="keywordtype">double</span> radius = 1.0) <span class="comment">//constants::average_earth_radius)</span>
+<a name="l00055"></a>00055 : m_sum(0)
+<a name="l00056"></a>00056 , m_radius(radius)
+<a name="l00057"></a>00057 {}
+<a name="l00058"></a>00058 <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>()<span class="keyword"> const</span>
+<a name="l00059"></a>00059 <span class="keyword"> </span>{
+<a name="l00060"></a>00060 <span class="keywordflow">return</span> - m_sum * m_radius * m_radius;
+<a name="l00061"></a>00061 <span class="comment">//constants::average_earth_radius * constants::average_earth_radius;</span>
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063 };
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="comment">// Distances are calculated on unit sphere here</span>
+<a name="l00066"></a>00066 <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html">strategy::distance::haversine&lt;P, P&gt;</a> m_unit_sphere;
+<a name="l00067"></a>00067 <span class="keywordtype">double</span> m_radius;
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keyword">public</span> :
+<a name="l00070"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">00070</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">return_type</a>;
+<a name="l00071"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">00071</a> <span class="keyword">typedef</span> excess_sum <a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a>;
+<a name="l00072"></a>00072
+<a name="l00073"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#59b71eaa070bf9d8e68e4d4f8263e06e">00073</a> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#59b71eaa070bf9d8e68e4d4f8263e06e">by_spherical_excess</a>(<span class="keywordtype">double</span> radius = 1.0)
+<a name="l00074"></a>00074 : m_unit_sphere(1)
+<a name="l00075"></a>00075 , m_radius(radius)
+<a name="l00076"></a>00076 {}
+<a name="l00077"></a>00077
+<a name="l00078"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">00078</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">operator()</a>(<a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const P&gt;</a> <span class="keyword">const</span>&amp; <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>, <a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a>&amp; state)<span class="keyword"> const</span>
+<a name="l00079"></a>00079 <span class="keyword"> </span>{
+<a name="l00080"></a>00080 <span class="keywordflow">if</span> (get&lt;0&gt;(segment.<a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a>) != get&lt;0&gt;(segment.<a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a>))
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>
+<a name="l00083"></a>00083 &lt;
+<a name="l00084"></a>00084 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;P&gt;::type</a>,
+<a name="l00085"></a>00085 2,
+<a name="l00086"></a>00086 <span class="keyword">typename</span> ggl::detail::get_cs_as_radian
+<a name="l00087"></a>00087 &lt;
+<a name="l00088"></a>00088 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system&lt;P&gt;::type</a>
+<a name="l00089"></a>00089 &gt;::type
+<a name="l00090"></a>00090 &gt; PR;
+<a name="l00091"></a>00091 PR p1, p2;
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="comment">// Select transformation strategy and transform to radians (if necessary)</span>
+<a name="l00094"></a>00094 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__transform.html" title="Traits class binding a transformation strategy to a coordinate system.">strategy_transform</a>&lt;
+<a name="l00095"></a>00095 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag&lt;P&gt;::type</a>,
+<a name="l00096"></a>00096 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag&lt;PR&gt;::type</a>,
+<a name="l00097"></a>00097 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system&lt;P&gt;::type</a>,
+<a name="l00098"></a>00098 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system&lt;PR&gt;::type</a>,
+<a name="l00099"></a>00099 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;P&gt;::value</a>,
+<a name="l00100"></a>00100 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension&lt;PR&gt;::value</a>,
+<a name="l00101"></a>00101 P, PR&gt;::type transform_strategy;
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 transform_strategy(segment.<a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a>, p1);
+<a name="l00104"></a>00104 transform_strategy(segment.<a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a>, p2);
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="comment">// Distance p1 p2</span>
+<a name="l00107"></a>00107 <span class="keywordtype">double</span> a = m_unit_sphere(segment.<a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a>, segment.<a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a>);
+<a name="l00108"></a>00108 <span class="comment">// Sides on unit sphere to south pole</span>
+<a name="l00109"></a>00109 <span class="keywordtype">double</span> b = 0.5 * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">math::pi</a> - ggl::get&lt;1&gt;(p2);
+<a name="l00110"></a>00110 <span class="keywordtype">double</span> c = 0.5 * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">math::pi</a> - ggl::get&lt;1&gt;(p1);
+<a name="l00111"></a>00111 <span class="comment">// Semi parameter</span>
+<a name="l00112"></a>00112 <span class="keywordtype">double</span> s = 0.5 * (a + b + c);
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="comment">// E: spherical excess, using l'Huiller's formula</span>
+<a name="l00115"></a>00115 <span class="comment">// [tg(e / 4)]2 = tg[s / 2] tg[(s-a) / 2] tg[(s-b) / 2] tg[(s-c) / 2]</span>
+<a name="l00116"></a>00116 <span class="keywordtype">double</span> E = 4.0 * atan(sqrt(fabs(tan(s / 2)
+<a name="l00117"></a>00117 * tan((s - a) / 2)
+<a name="l00118"></a>00118 * tan((s - b) / 2)
+<a name="l00119"></a>00119 * tan((s - c) / 2))));
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 E = fabs(E);
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="comment">// In right direction: positive, add area. In left direction: negative, subtract area.</span>
+<a name="l00124"></a>00124 <span class="comment">// Longitude comparisons are not so obvious. If one is negative, other is positive,</span>
+<a name="l00125"></a>00125 <span class="comment">// we have to take the date into account.</span>
+<a name="l00126"></a>00126 <span class="comment">// TODO: check this / enhance this, should be more robust. See also the "grow" for ll</span>
+<a name="l00127"></a>00127 <span class="comment">// TODO: use minmax or "smaller"/"compare" strategy for this</span>
+<a name="l00128"></a>00128 <span class="keywordtype">double</span> lon1 = ggl::get&lt;0&gt;(p1) &lt; 0
+<a name="l00129"></a>00129 ? ggl::get&lt;0&gt;(p1) + <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">math::two_pi</a>
+<a name="l00130"></a>00130 : ggl::get&lt;0&gt;(p1);
+<a name="l00131"></a>00131 <span class="keywordtype">double</span> lon2 = ggl::get&lt;0&gt;(p2) &lt; 0
+<a name="l00132"></a>00132 ? ggl::get&lt;0&gt;(p2) + <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">math::two_pi</a>
+<a name="l00133"></a>00133 : ggl::get&lt;0&gt;(p2);
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keywordflow">if</span> (lon2 &lt; lon1)
+<a name="l00136"></a>00136 {
+<a name="l00137"></a>00137 E= -E;
+<a name="l00138"></a>00138 }
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 state.m_sum += E;
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00143"></a>00143 }
+<a name="l00144"></a>00144 };
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 } <span class="comment">// namespace area</span>
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 } <span class="comment">// namespace strategy</span>
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00152"></a>00152 <span class="preprocessor"></span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> LL&gt;
+<a name="l00153"></a>00153 <span class="keyword">struct </span>strategy_area&lt;spherical_tag, LL&gt;
+<a name="l00154"></a>00154 {
+<a name="l00155"></a>00155 <span class="keyword">typedef</span> strategy::area::by_spherical_excess&lt;LL&gt; <a class="code" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">type</a>;
+<a name="l00156"></a>00156 };
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> LL&gt;
+<a name="l00159"></a>00159 <span class="keyword">struct </span>strategy_area&lt;geographic_tag, LL&gt;
+<a name="l00160"></a>00160 {
+<a name="l00161"></a>00161 <span class="keyword">typedef</span> strategy::area::by_spherical_excess&lt;LL&gt; <a class="code" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">type</a>;
+<a name="l00162"></a>00162 };
+<a name="l00163"></a>00163 <span class="preprocessor">#endif</span>
+<a name="l00164"></a>00164 <span class="preprocessor"></span>
+<a name="l00165"></a>00165 } <span class="comment">// namespace ggl</span>
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 <span class="preprocessor">#endif // GGL_GEOMETRY_STRATEGIES_SPHERICAL_SPH_AREA_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__envelope_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__envelope_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,92 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/spherical/sph_envelope.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">ggl::strategy::envelope::shift::shifted&lt; D &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html">ggl::strategy::envelope::shift::shifted&lt; degree &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">ggl::strategy::envelope::shift::shifted&lt; radian &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__envelope_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__envelope_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,227 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/spherical/sph_envelope.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_GEOMETRY_STRATEGIES_SPHERICAL_SPH_ENVELOPE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRY_STRATEGIES_SPHERICAL_SPH_ENVELOPE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/numeric/conversion/bounds.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00014"></a>00014
+<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 &lt; 90 deg, so 170 &lt; -170 but 90 &gt; -180)</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="haversine_8hpp.html">ggl/strategies/spherical/haversine.hpp</a>&gt;</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> &lt;<span class="keyword">typename</span> D&gt;
+<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>&lt;&gt;
+<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>&lt;<a class="code" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>&gt;
+<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>&lt;&gt;
+<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>&lt;<a class="code" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a>&gt;
+<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> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B&gt;
+<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&lt;B&gt;::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&amp; <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&amp; 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&lt;<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&gt;::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&lt;<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&gt;::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&lt;<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&gt;::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&lt;<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&gt;::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&lt;<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&gt;::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&lt;<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&gt;::lowest())
+<a name="l00082"></a>00082 {}
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<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>&amp; value, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&amp; min_value, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&amp; max_value)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="keywordflow">if</span> (value &lt; 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 &gt; 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&amp; 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&lt;1&gt;(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="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&lt;0&gt;(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&lt;0&gt;(p);
+<a name="l00108"></a>00108 <span class="keywordflow">while</span>(value &lt; 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&lt;typename coordinate_system&lt;P&gt;::type::units</a>&gt;::shift();
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113 <span class="keywordflow">while</span> (value &gt; <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&lt;typename coordinate_system&lt;P&gt;::type::units</a>&gt;::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&lt;PB&gt;&amp; 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&lt;min_corner, 1&gt;(<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&lt;max_corner, 1&gt;(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&lt;min_corner, 0&gt;(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&lt;max_corner, 0&gt;(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 &lt;&lt; "range 1: " &lt;&lt; min_lon1 * math::r2d &lt;&lt; ".." &lt;&lt; max_lon1 * math::r2d &lt;&lt; std::endl;</span>
+<a name="l00139"></a>00139 <span class="comment">//std::cout &lt;&lt; "range 2: " &lt;&lt; min_lon2 * math::r2d &lt;&lt; ".." &lt;&lt; max_lon2 * math::r2d &lt;&lt; std::endl;</span>
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 <span class="keywordflow">if</span> (diff1 &lt;= diff2)
+<a name="l00142"></a>00142 {
+<a name="l00143"></a>00143 set&lt;min_corner, 0&gt;(mbr, min_lon1);
+<a name="l00144"></a>00144 set&lt;max_corner, 0&gt;(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&lt;min_corner, 0&gt;(mbr, min_lon2);
+<a name="l00149"></a>00149 set&lt;max_corner, 0&gt;(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&amp; p, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state_type</a>&amp; 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="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> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> B&gt;
+<a name="l00168"></a>00168 <span class="keyword">struct </span>strategy_envelope&lt;geographic_tag, geographic_tag, P, B&gt;
+<a name="l00169"></a>00169 {
+<a name="l00170"></a>00170 <span class="keyword">typedef</span> strategy::envelope::grow_ll&lt;P, B&gt; <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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/status.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/status.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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 class="current">Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1><a class="anchor" name="status">Status and preview </a></h1><h2><a class="anchor" name="introduction">
+Introduction</a></h2>
+The Generic Geometry Library is currently in its fourth preview.<p>
+The first preview was a template 2D geometry library providing its own geometries and algorithms working on those geometries. Those geometries are still provided but not essential anymore.<p>
+The second preview didn't asume points with .x() and .y() anymore. It provided strategies, operating on specific point types. So point_xy (cartesian points) were handled different from point_ll (latlong points). That is still the case (now using a coordinate system meta-function)<p>
+The third preview introducted the point concept, library users could use their own points with the algorithms provided by the library.<p>
+So this is the fourth preview and implements concepts for all geometries. Besides that tag dispatching is introduced internally. All algorithms are now really generic, there are only two distance functions, one with two geometries and one with two geometries and a strategy. Those two will do. Internally they are first splitted per geometry, so point-to-point distance and point-to-linestring distance, etc. Then they are splitted per coordinate system, so Cartesian points have another distance calculation then spherical points. Finally those strategies, as they are called, are applied.<h2><a class="anchor" name="changes4">
+Changes since preview 3</a></h2>
+<ul>
+<li>there are now typedefs for the more common geometries, such as point_2d or ring_ll_deg</li><li>all geometries are optional, everything is working with concepts</li><li>the convex hull algorithm has been added and can be calculated for linestrings (ranges, point sequences), polygons</li><li>map projections (92 !) have been added, they are converted to C++ template classes from PROJ4</li><li>transformations have been added, to go from one coordinate system to another</li><li>conversions have been added, to go from one geometry type to another (e.g. BOX to POLYGON)</li><li>edit functionality have been added, to edit coordinate values or to add points</li><li>parsing of latitude longitude coordinate values have been added</li><li>the "selected" algorithm have been added</li><li>many examples have been added</li><li>many tests have been added</li></ul>
+<p>
+<b>Breaking</b> <b>changes</b> Because the library was in preview, and it still is, there are some major changes which might influence library user's code. Although there are many changes internally, the changes for users should be relatively small:<ul>
+<li>all algorithms accepting linestrings are now modelled to get the linestring itself. In the previous version the .begin(), end() had to be specified, That is now not necessary anymore because the Boost Range Library is used internally, and tag dispatching is used to distinguish geometries internally</li><li>the "grow" utility is now splitted into buffer (growing a box with a value was in fact a buffer) and a combine.</li><li>there was a generic "get" function with a const ref and a non const ref. This is splitted into "get" and "set"</li><li>there might be more changes, please contact if anything is unclear</li></ul>
+<h2><a class="anchor" name="changes5">
+Changes since preview 4</a></h2>
+The change from preview 3 to preview 4 was major and many things have been addressed. Concepts are everywhere, algorithms are really generic, not dependant on geometry type. The library is coordinate agnostic and dimensional agnostic.So the design is stable, in that sense. However, there are changes:<ul>
+<li>implementation of spatial set relations (intersection, union)</li><li>move of GIS-specific code to extension/gis</li><li>move of map projections to extensions/gis/projections</li><li>implementation of SVG in extensions/SVG</li><li>review of all code, conform Boost code guidelines, no tabs, template parameters, etc.</li><li>other small changes.</li></ul>
+<p>
+If people are interested in helping with the library, be it by coding, by testing, by commenting or otherwise, they are very welcome.<h2><a class="anchor" name="history">
+History</a></h2>
+Geodan started in 1995 with a Geographic Library, called geolib or also GGL (Geodan Geographic Library). Since then hundreds of projects have been done using this geolib, and the geolib have been extended to fit the needs of its users. Geolib can be used in different environments: in Windows applications, as a DLL (ggl32.dll), in Web Map Servers (SclMapServer), Web Feature Servers or more specific programs.<p>
+In 2007-2009 the Geometry part has been revised and completely templatized. From 2008 Bruno Lalande, already a Boost contributor, joined and helped to make the library more generic and to define clear concepts. It is now called Generic Geometry Library, abbreviated to GGL. From 2009 Mateusz Loskot, an active member of Geospatial Open Source communities, joined and helped with reviewing code, guidelines, WKB, iterators, and the Wiki and ticket system<p>
+The library is now called Generic Geometry Library, abbreviated to GGL. The Generic Geometry Library is Open Source and is proposed to the Boost community. </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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/std__as__linestring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/std__as__linestring_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,96 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/adapted/std_as_linestring.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="std__as__linestring_8hpp.html#70b04d571e8e10ba35ec9329a0e2b94d">GGL_ADAPTED_STD_RANGE_TAG_DEFINED</a></td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="70b04d571e8e10ba35ec9329a0e2b94d"></a><!-- doxytag: member="std_as_linestring.hpp::GGL_ADAPTED_STD_RANGE_TAG_DEFINED" ref="70b04d571e8e10ba35ec9329a0e2b94d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GGL_ADAPTED_STD_RANGE_TAG_DEFINED </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="std__as__linestring_8hpp_source.html#l00018">18</a> of file <a class="el" href="std__as__linestring_8hpp_source.html">std_as_linestring.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/std__as__linestring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/std__as__linestring_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/adapted/std_as_linestring.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_ADAPTED_STD_AS_LINESTRING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ADAPTED_STD_AS_LINESTRING_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#ifdef _GEOMETRY_ADAPTED_STD_RANGE_TAG_DEFINED</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#error Include only one headerfile to register tag for adapted std:: containers or iterator pair</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00017"></a>00017 <span class="preprocessor"></span>
+<a name="l00018"></a><a class="code" href="std__as__linestring_8hpp.html#70b04d571e8e10ba35ec9329a0e2b94d">00018</a> <span class="preprocessor">#define GGL_ADAPTED_STD_RANGE_TAG_DEFINED</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;deque&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;list&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;utility&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="keyword">namespace </span>util
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keyword">struct </span>std_as_linestring
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> linestring_tag type;
+<a name="l00035"></a>00035 };
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 }
+<a name="l00038"></a>00038 <span class="preprocessor">#endif</span>
+<a name="l00039"></a>00039 <span class="preprocessor"></span>
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="comment">// specialization for an iterator pair (read only)</span>
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt; <span class="keyword">struct </span>tag&lt; std::pair&lt;P, P&gt; &gt; : util::std_as_linestring {};
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="comment">// Indicate that std::library is not used to add things to std::pair.</span>
+<a name="l00048"></a>00048 <span class="comment">// Don't implement anything else -&gt; adding points or clearing not possible</span>
+<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt; <span class="keyword">struct </span>use_std&lt; std::pair&lt;P, P&gt; &gt; : boost::mpl::false_ {};
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="comment">// specializations for a std:: containers: vector, deque, list</span>
+<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt; <span class="keyword">struct </span>tag&lt; std::vector&lt;P&gt; &gt; : util::std_as_linestring {};
+<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt; <span class="keyword">struct </span>tag&lt; std::deque&lt;P&gt; &gt; : util::std_as_linestring {};
+<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt; <span class="keyword">struct </span>tag&lt; std::list&lt;P&gt; &gt; : util::std_as_linestring {};
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057 <span class="preprocessor">#endif</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span>}
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="preprocessor">#endif</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/std__as__ring_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/std__as__ring_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,96 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/adapted/std_as_ring.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="std__as__ring_8hpp.html#70b04d571e8e10ba35ec9329a0e2b94d">GGL_ADAPTED_STD_RANGE_TAG_DEFINED</a></td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="70b04d571e8e10ba35ec9329a0e2b94d"></a><!-- doxytag: member="std_as_ring.hpp::GGL_ADAPTED_STD_RANGE_TAG_DEFINED" ref="70b04d571e8e10ba35ec9329a0e2b94d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GGL_ADAPTED_STD_RANGE_TAG_DEFINED </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="std__as__ring_8hpp_source.html#l00018">18</a> of file <a class="el" href="std__as__ring_8hpp_source.html">std_as_ring.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/std__as__ring_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/std__as__ring_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/adapted/std_as_ring.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_ADAPTED_STD_AS_RING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ADAPTED_STD_AS_RING_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#ifdef _GEOMETRY_ADAPTED_STD_RANGE_TAG_DEFINED</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#error Include only one headerfile to register tag for adapted std:: containers or iterator pair</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00017"></a>00017 <span class="preprocessor"></span>
+<a name="l00018"></a><a class="code" href="std__as__ring_8hpp.html#70b04d571e8e10ba35ec9329a0e2b94d">00018</a> <span class="preprocessor">#define GGL_ADAPTED_STD_RANGE_TAG_DEFINED</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;deque&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;list&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;utility&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>ggl
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <span class="comment">// specialization for an iterator pair</span>
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>tag&lt; std::pair&lt;T, T&gt; &gt; { <span class="keyword">typedef</span> ring_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>; };
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="comment">// specialization for a std:: containers: vector, deque, list</span>
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>tag&lt; std::vector&lt;T&gt; &gt; { <span class="keyword">typedef</span> ring_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>; };
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>tag&lt; std::deque&lt;T&gt; &gt; { <span class="keyword">typedef</span> ring_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>; };
+<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>tag&lt; std::list&lt;T&gt; &gt; { <span class="keyword">typedef</span> ring_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>; };
+<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
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="preprocessor">#endif</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategies_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategies_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</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/strategies.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategies_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategies_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,103 @@
+<!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">
+&nbsp;&nbsp;
+</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/strategies.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_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 &lt;<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="cart__area_8hpp.html">ggl/strategies/cartesian/cart_area.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="cart__centroid_8hpp.html">ggl/strategies/cartesian/cart_centroid.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="cart__compare_8hpp.html">ggl/strategies/cartesian/cart_compare.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="cart__distance_8hpp.html">ggl/strategies/cartesian/cart_distance.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="cart__envelope_8hpp.html">ggl/strategies/cartesian/cart_envelope.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="cart__side_8hpp.html">ggl/strategies/cartesian/cart_side.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="cart__within_8hpp.html">ggl/strategies/cartesian/cart_within.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="sph__area_8hpp.html">ggl/strategies/spherical/sph_area.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="haversine_8hpp.html">ggl/strategies/spherical/haversine.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="sph__envelope_8hpp.html">ggl/strategies/spherical/sph_envelope.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="agn__convex__hull_8hpp.html">ggl/strategies/agnostic/agn_convex_hull.hpp</a>&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="agn__simplify_8hpp.html">ggl/strategies/agnostic/agn_simplify.hpp</a>&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="agn__within_8hpp.html">ggl/strategies/agnostic/agn_within.hpp</a>&gt;</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;<a class="code" href="strategy__transform_8hpp.html">ggl/strategies/strategy_transform.hpp</a>&gt;</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;<a class="code" href="matrix__transformers_8hpp.html">ggl/strategies/transform/matrix_transformers.hpp</a>&gt;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;<a class="code" href="map__transformer_8hpp.html">ggl/strategies/transform/map_transformer.hpp</a>&gt;</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;<a class="code" href="inverse__transformer_8hpp.html">ggl/strategies/transform/inverse_transformer.hpp</a>&gt;</span>
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="preprocessor">#endif // GGL_STRATEGIES_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__traits_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__traits_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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/strategy_traits.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; G1, G2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1not__implemented.html">ggl::strategy::not_implemented</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate compiler/library user that <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> is not implemented. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__area.html">ggl::strategy_area&lt; T, P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding an area <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__centroid.html">ggl::strategy_centroid&lt; T, P, PS &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a centroid calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__compare.html">ggl::strategy_compare&lt; T, P, D &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a comparing <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__convex__hull.html">ggl::strategy_convex_hull&lt; T, P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__distance.html">ggl::strategy_distance&lt; T1, T2, P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a (possibly two) coordinate system(s). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__distance__segment.html">ggl::strategy_distance_segment&lt; CsTag1, CsTag2, Point, Segment &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a distance-to-segment <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a (possibly two) coordinate system(s). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__envelope.html">ggl::strategy_envelope&lt; TP, TB, P, B &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding envelope <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__parse.html">ggl::strategy_parse&lt; T, CS &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a parsing <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__side.html">ggl::strategy_side&lt; T, P, PS &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a side determination <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__tag.html">ggl::strategy_tag&lt; T &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__tag__distance__point__point.html">ggl::strategy_tag_distance_point_point</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__tag__distance__point__segment.html">ggl::strategy_tag_distance_point_segment</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__tag__unknown.html">ggl::strategy_tag_unknown</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__transform.html">ggl::strategy_transform&lt; CS_TAG1, CS_TAG2, CS1, CS2, D1, D2, P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__within.html">ggl::strategy_within&lt; TP, TS, P, PS &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class binding a within determination <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__traits_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__traits_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,198 @@
+<!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">
+&nbsp;&nbsp;
+</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/strategy_traits.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_STRATEGY_TRAITS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_STRATEGY_TRAITS_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="comment">// File containing strategy traits classes, to be specialized in other files</span>
+<a name="l00016"></a>00016 <span class="comment">// (This file might be splitted resulting into several small files)</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="l00021"></a>00021 <span class="keyword">namespace </span>strategy
+<a name="l00022"></a>00022 {
+<a name="l00031"></a><a class="code" href="structggl_1_1strategy_1_1not__implemented.html">00031</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">not_implemented</a> {};
+<a name="l00032"></a>00032 }
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> P&gt;
+<a name="l00042"></a><a class="code" href="structggl_1_1strategy__area.html">00042</a> <span class="keyword">struct </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="l00043"></a>00043 {
+<a name="l00044"></a><a class="code" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">00044</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy::not_implemented</a> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">type</a>;
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2, <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00056"></a><a class="code" href="structggl_1_1strategy__distance.html">00056</a> <span class="keyword">struct </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="l00057"></a>00057 {
+<a name="l00058"></a><a class="code" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">00058</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy::not_implemented</a> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">type</a>;
+<a name="l00059"></a>00059 };
+<a name="l00060"></a>00060
+<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CsTag1, <span class="keyword">typename</span> CsTag2, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment&gt;
+<a name="l00070"></a><a class="code" href="structggl_1_1strategy__distance__segment.html">00070</a> <span class="keyword">struct </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="l00071"></a>00071 {
+<a name="l00072"></a><a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">00072</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy::not_implemented</a> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">type</a>;
+<a name="l00073"></a>00073 };
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075
+<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> P, <span class="keyword">typename</span> PS&gt;
+<a name="l00084"></a><a class="code" href="structggl_1_1strategy__centroid.html">00084</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__centroid.html" title="Traits class binding a centroid calculation strategy to a coordinate system.">strategy_centroid</a>
+<a name="l00085"></a>00085 {
+<a name="l00086"></a><a class="code" href="structggl_1_1strategy__centroid.html#d993b491319e39b70e4b52c2fd9f5dd6">00086</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy::not_implemented</a> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">type</a>;
+<a name="l00087"></a>00087 };
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089
+<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TP, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> P, <span class="keyword">typename</span> B&gt;
+<a name="l00099"></a><a class="code" href="structggl_1_1strategy__envelope.html">00099</a> <span class="keyword">struct </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="l00100"></a>00100 {
+<a name="l00101"></a><a class="code" href="structggl_1_1strategy__envelope.html#3254d57340b4c3fc7ff081522627cbc2">00101</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy::not_implemented</a> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">type</a>;
+<a name="l00102"></a>00102 };
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104
+<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> P&gt;
+<a name="l00112"></a><a class="code" href="structggl_1_1strategy__convex__hull.html">00112</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__convex__hull.html" title="Traits class binding a convex hull calculation strategy to a coordinate system.">strategy_convex_hull</a>
+<a name="l00113"></a>00113 {
+<a name="l00114"></a><a class="code" href="structggl_1_1strategy__convex__hull.html#ec3cbad2b86bbd620de9d6c669863f32">00114</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy::not_implemented</a> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">type</a>;
+<a name="l00115"></a>00115 };
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117
+<a name="l00126"></a>00126 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TP, <span class="keyword">typename</span> TS, <span class="keyword">typename</span> P, <span class="keyword">typename</span> PS&gt;
+<a name="l00127"></a><a class="code" href="structggl_1_1strategy__within.html">00127</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__within.html" title="Traits class binding a within determination strategy to a coordinate system.">strategy_within</a>
+<a name="l00128"></a>00128 {
+<a name="l00129"></a><a class="code" href="structggl_1_1strategy__within.html#91c77dd02ec4c0826d7b4debc7aa6599">00129</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy::not_implemented</a> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">type</a>;
+<a name="l00130"></a>00130 };
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132
+<a name="l00140"></a>00140 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> P, <span class="keyword">typename</span> PS = P&gt;
+<a name="l00141"></a><a class="code" href="structggl_1_1strategy__side.html">00141</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__side.html" title="Traits class binding a side determination strategy to a coordinate system.">strategy_side</a>
+<a name="l00142"></a>00142 {
+<a name="l00143"></a><a class="code" href="structggl_1_1strategy__side.html#ff01de1fab8079a9387be65b1b925428">00143</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy::not_implemented</a> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">type</a>;
+<a name="l00144"></a>00144 };
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147
+<a name="l00155"></a>00155 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> P, <span class="keywordtype">size_t</span> D&gt;
+<a name="l00156"></a><a class="code" href="structggl_1_1strategy__compare.html">00156</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__compare.html" title="Traits class binding a comparing strategy to a coordinate system.">strategy_compare</a>
+<a name="l00157"></a>00157 {
+<a name="l00158"></a><a class="code" href="structggl_1_1strategy__compare.html#990dea01301b207c8152141f89242399">00158</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy::not_implemented</a> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">type</a>;
+<a name="l00159"></a>00159 };
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161
+<a name="l00175"></a>00175 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CS_TAG1, <span class="keyword">typename</span> CS_TAG2,
+<a name="l00176"></a>00176 <span class="keyword">typename</span> CS1, <span class="keyword">typename</span> CS2,
+<a name="l00177"></a>00177 <span class="keywordtype">size_t</span> D1, <span class="keywordtype">size_t</span> D2,
+<a name="l00178"></a>00178 <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00179"></a><a class="code" href="structggl_1_1strategy__transform.html">00179</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__transform.html" title="Traits class binding a transformation strategy to a coordinate system.">strategy_transform</a>
+<a name="l00180"></a>00180 {
+<a name="l00181"></a><a class="code" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">00181</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy::not_implemented</a> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">type</a>;
+<a name="l00182"></a>00182 };
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184
+<a name="l00191"></a>00191 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> CS&gt;
+<a name="l00192"></a><a class="code" href="structggl_1_1strategy__parse.html">00192</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__parse.html" title="Traits class binding a parsing strategy to a coordinate system.">strategy_parse</a>
+<a name="l00193"></a>00193 {
+<a name="l00194"></a><a class="code" href="structggl_1_1strategy__parse.html#0d99f45801b3eff372b9ddd4693e4c1f">00194</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy::not_implemented</a> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">type</a>;
+<a name="l00195"></a>00195 };
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199
+<a name="l00206"></a>00206 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2 = G1&gt;
+<a name="l00207"></a><a class="code" href="structggl_1_1distance__result.html">00207</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1distance__result.html" title="Shortcut to define return type of distance strategy.">distance_result</a>
+<a name="l00208"></a>00208 {
+<a name="l00209"></a><a class="code" href="structggl_1_1distance__result.html#eba52ff149917eef4e3c8138a8cb4830">00209</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&lt;G1&gt;::type</a> <a class="code" href="structggl_1_1distance__result.html#eba52ff149917eef4e3c8138a8cb4830">P1</a>;
+<a name="l00210"></a><a class="code" href="structggl_1_1distance__result.html#09dd903d489dbfa0ec23306ec7b88d02">00210</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&lt;G2&gt;::type</a> <a class="code" href="structggl_1_1distance__result.html#09dd903d489dbfa0ec23306ec7b88d02">P2</a>;
+<a name="l00211"></a>00211 <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>&lt;
+<a name="l00212"></a>00212 <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&lt;P1&gt;::type</a>,
+<a name="l00213"></a><a class="code" href="structggl_1_1distance__result.html#a8148b389a0cec2b42c5de450d52a3b3">00213</a> <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&lt;P2&gt;::type</a>, <a class="code" href="structggl_1_1distance__result.html#eba52ff149917eef4e3c8138a8cb4830">P1</a>, <a class="code" href="structggl_1_1distance__result.html#09dd903d489dbfa0ec23306ec7b88d02">P2</a>&gt;<a class="code" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">::type</a> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">S</a>;
+<a name="l00214"></a><a class="code" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">00214</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> S::return_type <a class="code" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a>;
+<a name="l00215"></a>00215 };
+<a name="l00216"></a>00216
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218
+<a name="l00219"></a><a class="code" href="structggl_1_1strategy__tag__unknown.html">00219</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__tag__unknown.html">strategy_tag_unknown</a> {};
+<a name="l00220"></a><a class="code" href="structggl_1_1strategy__tag__distance__point__point.html">00220</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__tag__distance__point__point.html">strategy_tag_distance_point_point</a> {};
+<a name="l00221"></a><a class="code" href="structggl_1_1strategy__tag__distance__point__segment.html">00221</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__tag__distance__point__segment.html">strategy_tag_distance_point_segment</a> {};
+<a name="l00222"></a>00222
+<a name="l00223"></a>00223 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00224"></a><a class="code" href="structggl_1_1strategy__tag.html">00224</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__tag.html">strategy_tag</a>
+<a name="l00225"></a>00225 {
+<a name="l00226"></a><a class="code" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">00226</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy__tag__unknown.html">strategy_tag_unknown</a> <a class="code" href="structggl_1_1strategy__tag__unknown.html">type</a>;
+<a name="l00227"></a>00227 };
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229 } <span class="comment">// namespace ggl</span>
+<a name="l00230"></a>00230
+<a name="l00231"></a>00231 <span class="preprocessor">#endif // GGL_STRATEGIES_STRATEGY_TRAITS_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,103 @@
+<!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">
+&nbsp;&nbsp;
+</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/strategy_transform.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">ggl::strategy::transform::copy_direct&lt; P &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to copy one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another using assignment operator. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">ggl::strategy::transform::copy_per_coordinate&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do copy a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, copying per coordinate. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html">ggl::strategy::transform::degree_radian_vv&lt; P1, P2, F &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to go from <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> to <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a> and back. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html">ggl::strategy::transform::degree_radian_vv_3&lt; P1, P2, F &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html">ggl::strategy::transform::from_cartesian_3_to_spherical_2&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D cartesian (x,y,z) to 2D spherical (phi,theta). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html">ggl::strategy::transform::from_cartesian_3_to_spherical_3&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D cartesian (x,y,z) to 3D spherical (phi,theta,r). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html">ggl::strategy::transform::from_spherical_2_to_cartesian_3&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 2D spherical (phi,theta) to 3D cartesian (x,y,z). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html">ggl::strategy::transform::from_spherical_3_to_cartesian_3&lt; P1, P2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D spherical (phi,theta,r) to 3D cartesian (x,y,z). More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,366 @@
+<!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">
+&nbsp;&nbsp;
+</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/strategy_transform.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_TRANSFORM_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_TRANSFORM_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;cstddef&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;cmath&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;functional&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="arithmetic_8hpp.html">ggl/arithmetic/arithmetic.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>&gt;</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>ggl
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028
+<a name="l00029"></a><a class="code" href="namespaceggl_1_1strategy_1_1transform.html">00029</a> <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="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
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">template</span>
+<a name="l00036"></a>00036 &lt;
+<a name="l00037"></a>00037 <span class="keyword">typename</span> Src, <span class="keyword">typename</span> Dst,
+<a name="l00038"></a>00038 std::size_t D, std::size_t N,
+<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>F
+<a name="l00040"></a>00040 &gt;
+<a name="l00041"></a>00041 <span class="keyword">struct </span>transform_coordinates
+<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> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(<span class="keyword">const</span> Src&amp; source, Dst&amp; dest, <span class="keywordtype">double</span> value)
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type&lt;Src, Dst&gt;::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="l00046"></a>00046
+<a name="l00047"></a>00047 F&lt;coordinate_type&gt; function;
+<a name="l00048"></a>00048 set&lt;D&gt;(dest, boost::numeric_cast&lt;coordinate_type&gt;(function(get&lt;D&gt;(source), value)));
+<a name="l00049"></a>00049 <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform_coordinates&lt;Src, Dst, D + 1, N, F&gt;::transform</a>(source, dest, value);
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051 };
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">template</span>
+<a name="l00054"></a>00054 &lt;
+<a name="l00055"></a>00055 <span class="keyword">typename</span> Src, <span class="keyword">typename</span> Dst,
+<a name="l00056"></a>00056 std::size_t N,
+<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>F
+<a name="l00058"></a>00058 &gt;
+<a name="l00059"></a>00059 <span class="keyword">struct </span>transform_coordinates&lt;Src, Dst, N, N, F&gt;
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(<span class="keyword">const</span> Src&amp; source, Dst&amp; dest, <span class="keywordtype">double</span> value)
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064 };
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 } <span class="comment">// namespace detail</span>
+<a name="l00067"></a>00067 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span>
+<a name="l00069"></a>00069
+<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00076"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">00076</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html" title="Transformation strategy to copy one point to another using assignment operator.">copy_direct</a>
+<a name="l00077"></a>00077 {
+<a name="l00078"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html#5f0d4eaa1ee3ca9b9719461ce322bd58">00078</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html#5f0d4eaa1ee3ca9b9719461ce322bd58">operator()</a>(<span class="keyword">const</span> P&amp; p1, P&amp; p2)<span class="keyword"> const</span>
+<a name="l00079"></a>00079 <span class="keyword"> </span>{
+<a name="l00080"></a>00080 p2 = p1;
+<a name="l00081"></a>00081 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083 };
+<a name="l00084"></a>00084
+<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00092"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">00092</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html" title="Transformation strategy to do copy a point, copying per coordinate.">copy_per_coordinate</a>
+<a name="l00093"></a>00093 {
+<a name="l00094"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html#30c3026667a9846ecad20909e561a84e">00094</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html#30c3026667a9846ecad20909e561a84e">operator()</a>(P1 <span class="keyword">const</span>&amp; p1, P2&amp; p2)<span class="keyword"> const</span>
+<a name="l00095"></a>00095 <span class="keyword"> </span>{
+<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&lt;P1, P2&gt;();
+<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="l00100"></a>00100 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102 };
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104
+<a name="l00112"></a>00112 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>F&gt;
+<a name="l00113"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html">00113</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html" title="Transformation strategy to go from degree to radian and back.">degree_radian_vv</a>
+<a name="l00114"></a>00114 {
+<a name="l00115"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html#152a03b3270b0086b5c8d926fe77f090">00115</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html#152a03b3270b0086b5c8d926fe77f090">operator()</a>(P1 <span class="keyword">const</span>&amp; p1, P2&amp; p2)<span class="keyword"> const</span>
+<a name="l00116"></a>00116 <span class="keyword"> </span>{
+<a name="l00117"></a>00117 <span class="comment">// Spherical coordinates always have 2 coordinates measured in angles</span>
+<a name="l00118"></a>00118 <span class="comment">// The optional third one is distance/height, provided in another strategy</span>
+<a name="l00119"></a>00119 <span class="comment">// Polar coordinates having one angle, will be also in another strategy</span>
+<a name="l00120"></a>00120 assert_dimension&lt;P1, 2&gt;();
+<a name="l00121"></a>00121 assert_dimension&lt;P2, 2&gt;();
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">detail::transform_coordinates&lt;P1, P2, 0, 2, F&gt;::transform</a>(p1, p2, <a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">math::d2r</a>);
+<a name="l00124"></a>00124 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<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> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>F&gt;
+<a name="l00129"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html">00129</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html">degree_radian_vv_3</a>
+<a name="l00130"></a>00130 {
+<a name="l00131"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html#b92cb18180679ef616fa34ff8972f937">00131</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html#b92cb18180679ef616fa34ff8972f937">operator()</a>(P1 <span class="keyword">const</span>&amp; p1, P2&amp; p2)<span class="keyword"> const</span>
+<a name="l00132"></a>00132 <span class="keyword"> </span>{
+<a name="l00133"></a>00133 assert_dimension&lt;P1, 3&gt;();
+<a name="l00134"></a>00134 assert_dimension&lt;P2, 3&gt;();
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">detail::transform_coordinates&lt;P1, P2, 0, 2, F&gt;::transform</a>(p1, p2, <a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">math::d2r</a>);
+<a name="l00137"></a>00137 <span class="comment">// Copy height or other third dimension</span>
+<a name="l00138"></a>00138 set&lt;2&gt;(p2, get&lt;2&gt;(p1));
+<a name="l00139"></a>00139 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<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 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00145"></a>00145 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147
+<a name="l00149"></a>00149 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00150"></a>00150 <span class="keyword">inline</span> <span class="keywordtype">void</span> spherical_to_cartesian(<span class="keywordtype">double</span> phi, <span class="keywordtype">double</span> theta, <span class="keywordtype">double</span> r, P&amp; p)
+<a name="l00151"></a>00151 {
+<a name="l00152"></a>00152 assert_dimension&lt;P, 3&gt;();
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="comment">// http://en.wikipedia.org/wiki/List_of_canonical_coordinate_transformations#From_spherical_coordinates>
+<a name="l00155"></a>00155 <span class="comment">// Phi = first, theta is second, r is third, see documentation on cs::spherical</span>
+<a name="l00156"></a>00156 <span class="keywordtype">double</span> <span class="keyword">const</span> sin_theta = std::sin(theta);
+<a name="l00157"></a>00157 set&lt;0&gt;(p, r * sin_theta * std::cos(phi));
+<a name="l00158"></a>00158 set&lt;1&gt;(p, r * sin_theta * std::sin(phi));
+<a name="l00159"></a>00159 set&lt;2&gt;(p, r * std::cos(theta));
+<a name="l00160"></a>00160 }
+<a name="l00161"></a>00161
+<a name="l00163"></a>00163 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00164"></a>00164 <span class="keyword">inline</span> <span class="keywordtype">bool</span> cartesian_to_spherical2(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z, P&amp; p)
+<a name="l00165"></a>00165 {
+<a name="l00166"></a>00166 assert_dimension&lt;P, 2&gt;();
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="comment">//
http://en.wikipedia.org/wiki/List_of_canonical_coordinate_transformations#From_Cartesian_coordinates>
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170 <span class="comment">// TODO: MAYBE ONLY IF TO BE CHECKED?</span>
+<a name="l00171"></a>00171 <span class="keywordtype">double</span> <span class="keyword">const</span> r = std::sqrt(x * x + y * y + z * z);
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="comment">// Unit sphere, r should be 1</span>
+<a name="l00174"></a>00174 <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&lt;P&gt;::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="l00175"></a>00175 <span class="keywordflow">if</span> (std::abs(r - 1.0) &gt; std::numeric_limits&lt;coordinate_type&gt;::epsilon())
+<a name="l00176"></a>00176 {
+<a name="l00177"></a>00177 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00178"></a>00178 }
+<a name="l00179"></a>00179 <span class="comment">// end todo</span>
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 set_from_radian&lt;0&gt;(p, std::atan2(y, x));
+<a name="l00182"></a>00182 set_from_radian&lt;1&gt;(p, std::acos(z));
+<a name="l00183"></a>00183 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00184"></a>00184 }
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+<a name="l00187"></a>00187 <span class="keyword">inline</span> <span class="keywordtype">bool</span> cartesian_to_spherical3(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z, P&amp; p)
+<a name="l00188"></a>00188 {
+<a name="l00189"></a>00189 assert_dimension&lt;P, 3&gt;();
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="comment">//
http://en.wikipedia.org/wiki/List_of_canonical_coordinate_transformations#From_Cartesian_coordinates>
+<a name="l00192"></a>00192 <span class="keywordtype">double</span> <span class="keyword">const</span> r = std::sqrt(x * x + y * y + z * z);
+<a name="l00193"></a>00193 set&lt;2&gt;(p, r);
+<a name="l00194"></a>00194 set_from_radian&lt;0&gt;(p, std::atan2(y, x));
+<a name="l00195"></a>00195 <span class="keywordflow">if</span> (r &gt; 0.0)
+<a name="l00196"></a>00196 {
+<a name="l00197"></a>00197 set_from_radian&lt;1&gt;(p, std::acos(z / r));
+<a name="l00198"></a>00198 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00199"></a>00199 }
+<a name="l00200"></a>00200 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00201"></a>00201 }
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203 } <span class="comment">// namespace detail</span>
+<a name="l00204"></a>00204 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00205"></a>00205 <span class="preprocessor"></span>
+<a name="l00206"></a>00206
+<a name="l00214"></a>00214 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00215"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html">00215</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html" title="Transformation strategy for 2D spherical (phi,theta) to 3D cartesian (x,y,z).">from_spherical_2_to_cartesian_3</a>
+<a name="l00216"></a>00216 {
+<a name="l00217"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html#49e5776790f87fbe0cdd30e751906ba1">00217</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html#49e5776790f87fbe0cdd30e751906ba1">operator()</a>(P1 <span class="keyword">const</span>&amp; p1, P2&amp; p2)<span class="keyword"> const</span>
+<a name="l00218"></a>00218 <span class="keyword"> </span>{
+<a name="l00219"></a>00219 assert_dimension&lt;P1, 2&gt;();
+<a name="l00220"></a>00220 detail::spherical_to_cartesian(get_as_radian&lt;0&gt;(p1), get_as_radian&lt;1&gt;(p1), 1.0, p2);
+<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="l00231"></a>00231 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00232"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html">00232</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html" title="Transformation strategy for 3D spherical (phi,theta,r) to 3D cartesian (x,y,z).">from_spherical_3_to_cartesian_3</a>
+<a name="l00233"></a>00233 {
+<a name="l00234"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html#feed81c34e4f15791bb63fba042cf5e8">00234</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html#feed81c34e4f15791bb63fba042cf5e8">operator()</a>(P1 <span class="keyword">const</span>&amp; p1, P2&amp; p2)<span class="keyword"> const</span>
+<a name="l00235"></a>00235 <span class="keyword"> </span>{
+<a name="l00236"></a>00236 assert_dimension&lt;P1, 3&gt;();
+<a name="l00237"></a>00237 detail::spherical_to_cartesian(
+<a name="l00238"></a>00238 get_as_radian&lt;0&gt;(p1), get_as_radian&lt;1&gt;(p1), get&lt;2&gt;(p1), p2);
+<a name="l00239"></a>00239 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00240"></a>00240 }
+<a name="l00241"></a>00241 };
+<a name="l00242"></a>00242
+<a name="l00251"></a>00251 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00252"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html">00252</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html" title="Transformation strategy for 3D cartesian (x,y,z) to 2D spherical (phi,theta).">from_cartesian_3_to_spherical_2</a>
+<a name="l00253"></a>00253 {
+<a name="l00254"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html#ec9a93c7157291c5f566158a3345fae7">00254</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html#ec9a93c7157291c5f566158a3345fae7">operator()</a>(P1 <span class="keyword">const</span>&amp; p1, P2&amp; p2)<span class="keyword"> const</span>
+<a name="l00255"></a>00255 <span class="keyword"> </span>{
+<a name="l00256"></a>00256 assert_dimension&lt;P1, 3&gt;();
+<a name="l00257"></a>00257 <span class="keywordflow">return</span> detail::cartesian_to_spherical2(get&lt;0&gt;(p1), get&lt;1&gt;(p1), get&lt;2&gt;(p1), p2);
+<a name="l00258"></a>00258 }
+<a name="l00259"></a>00259 };
+<a name="l00260"></a>00260
+<a name="l00261"></a>00261
+<a name="l00268"></a>00268 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00269"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html">00269</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html" title="Transformation strategy for 3D cartesian (x,y,z) to 3D spherical (phi,theta,r).">from_cartesian_3_to_spherical_3</a>
+<a name="l00270"></a>00270 {
+<a name="l00271"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html#ac8f345a72c9fd828dfbf2a2ba836aa4">00271</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html#ac8f345a72c9fd828dfbf2a2ba836aa4">operator()</a>(P1 <span class="keyword">const</span>&amp; p1, P2&amp; p2)<span class="keyword"> const</span>
+<a name="l00272"></a>00272 <span class="keyword"> </span>{
+<a name="l00273"></a>00273 assert_dimension&lt;P1, 3&gt;();
+<a name="l00274"></a>00274 <span class="keywordflow">return</span> detail::cartesian_to_spherical3(get&lt;0&gt;(p1), get&lt;1&gt;(p1), get&lt;2&gt;(p1), p2);
+<a name="l00275"></a>00275 }
+<a name="l00276"></a>00276 };
+<a name="l00277"></a>00277
+<a name="l00278"></a>00278 }} <span class="comment">// namespace strategy::transform</span>
+<a name="l00279"></a>00279
+<a name="l00280"></a>00280
+<a name="l00281"></a>00281 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00282"></a>00282 <span class="preprocessor"></span>
+<a name="l00284"></a>00284 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordSysTag, <span class="keyword">typename</span> CoordSys, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> P&gt;
+<a name="l00285"></a>00285 <span class="keyword">struct </span>strategy_transform&lt;CoordSysTag, CoordSysTag, CoordSys, CoordSys, D, D, P, P&gt;
+<a name="l00286"></a>00286 {
+<a name="l00287"></a>00287 <span class="keyword">typedef</span> strategy::transform::copy_direct&lt;P&gt; <a class="code" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">type</a>;
+<a name="l00288"></a>00288 };
+<a name="l00289"></a>00289
+<a name="l00291"></a>00291 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordSysTag, <span class="keyword">typename</span> CoordSys, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00292"></a>00292 <span class="keyword">struct </span>strategy_transform&lt;CoordSysTag, CoordSysTag, CoordSys, CoordSys, D, D, P1, P2&gt;
+<a name="l00293"></a>00293 {
+<a name="l00294"></a>00294 <span class="keyword">typedef</span> strategy::transform::copy_per_coordinate&lt;P1, P2&gt; <a class="code" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">type</a>;
+<a name="l00295"></a>00295 };
+<a name="l00296"></a>00296
+<a name="l00298"></a>00298 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordSysTag, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>CoordSys, <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00299"></a>00299 <span class="keyword">struct </span>strategy_transform&lt;CoordSysTag, CoordSysTag, CoordSys&lt;degree&gt;, CoordSys&lt;radian&gt;, 2, 2, P1, P2&gt;
+<a name="l00300"></a>00300 {
+<a name="l00301"></a>00301 <span class="keyword">typedef</span> strategy::transform::degree_radian_vv&lt;P1, P2, std::multiplies&gt; <a class="code" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">type</a>;
+<a name="l00302"></a>00302 };
+<a name="l00303"></a>00303
+<a name="l00305"></a>00305 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordSysTag, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>CoordSys, <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00306"></a>00306 <span class="keyword">struct </span>strategy_transform&lt;CoordSysTag, CoordSysTag, CoordSys&lt;radian&gt;, CoordSys&lt;degree&gt;, 2, 2, P1, P2&gt;
+<a name="l00307"></a>00307 {
+<a name="l00308"></a>00308 <span class="keyword">typedef</span> strategy::transform::degree_radian_vv&lt;P1, P2, std::divides&gt; <a class="code" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">type</a>;
+<a name="l00309"></a>00309 };
+<a name="l00310"></a>00310
+<a name="l00311"></a>00311
+<a name="l00313"></a>00313 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordSysTag, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>CoordSys, <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00314"></a>00314 <span class="keyword">struct </span>strategy_transform&lt;CoordSysTag, CoordSysTag, CoordSys&lt;degree&gt;, CoordSys&lt;radian&gt;, 3, 3, P1, P2&gt;
+<a name="l00315"></a>00315 {
+<a name="l00316"></a>00316 <span class="keyword">typedef</span> strategy::transform::degree_radian_vv_3&lt;P1, P2, std::multiplies&gt; <a class="code" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">type</a>;
+<a name="l00317"></a>00317 };
+<a name="l00318"></a>00318
+<a name="l00320"></a>00320 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordSysTag, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>CoordSys, <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00321"></a>00321 <span class="keyword">struct </span>strategy_transform&lt;CoordSysTag, CoordSysTag, CoordSys&lt;radian&gt;, CoordSys&lt;degree&gt;, 3, 3, P1, P2&gt;
+<a name="l00322"></a>00322 {
+<a name="l00323"></a>00323 <span class="keyword">typedef</span> strategy::transform::degree_radian_vv_3&lt;P1, P2, std::divides&gt; <a class="code" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">type</a>;
+<a name="l00324"></a>00324 };
+<a name="l00325"></a>00325
+<a name="l00327"></a>00327 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordSys1, <span class="keyword">typename</span> CoordSys2, <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00328"></a>00328 <span class="keyword">struct </span>strategy_transform&lt;spherical_tag, cartesian_tag, CoordSys1, CoordSys2, 2, 3, P1, P2&gt;
+<a name="l00329"></a>00329 {
+<a name="l00330"></a>00330 <span class="keyword">typedef</span> strategy::transform::from_spherical_2_to_cartesian_3&lt;P1, P2&gt; <a class="code" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">type</a>;
+<a name="l00331"></a>00331 };
+<a name="l00332"></a>00332
+<a name="l00334"></a>00334 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordSys1, <span class="keyword">typename</span> CoordSys2, <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00335"></a>00335 <span class="keyword">struct </span>strategy_transform&lt;spherical_tag, cartesian_tag, CoordSys1, CoordSys2, 3, 3, P1, P2&gt;
+<a name="l00336"></a>00336 {
+<a name="l00337"></a>00337 <span class="keyword">typedef</span> strategy::transform::from_spherical_3_to_cartesian_3&lt;P1, P2&gt; <a class="code" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">type</a>;
+<a name="l00338"></a>00338 };
+<a name="l00339"></a>00339
+<a name="l00341"></a>00341 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordSys1, <span class="keyword">typename</span> CoordSys2, <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00342"></a>00342 <span class="keyword">struct </span>strategy_transform&lt;cartesian_tag, spherical_tag, CoordSys1, CoordSys2, 3, 2, P1, P2&gt;
+<a name="l00343"></a>00343 {
+<a name="l00344"></a>00344 <span class="keyword">typedef</span> strategy::transform::from_cartesian_3_to_spherical_2&lt;P1, P2&gt; <a class="code" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">type</a>;
+<a name="l00345"></a>00345 };
+<a name="l00346"></a>00346
+<a name="l00348"></a>00348 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordSys1, <span class="keyword">typename</span> CoordSys2, <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2&gt;
+<a name="l00349"></a>00349 <span class="keyword">struct </span>strategy_transform&lt;cartesian_tag, spherical_tag, CoordSys1, CoordSys2, 3, 3, P1, P2&gt;
+<a name="l00350"></a>00350 {
+<a name="l00351"></a>00351 <span class="keyword">typedef</span> strategy::transform::from_cartesian_3_to_spherical_3&lt;P1, P2&gt; <a class="code" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">type</a>;
+<a name="l00352"></a>00352 };
+<a name="l00353"></a>00353
+<a name="l00354"></a>00354 <span class="preprocessor">#endif // DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00355"></a>00355 <span class="preprocessor"></span>
+<a name="l00356"></a>00356 } <span class="comment">// namespace ggl</span>
+<a name="l00357"></a>00357
+<a name="l00358"></a>00358 <span class="preprocessor">#endif // GGL_STRATEGY_TRANSFORM_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&nbsp;
Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</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::area_result&lt; Geometry &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1area__result.html">ggl::area_result&lt; Geometry &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1area__result.html#d6428313802f153cd99b803ecde23872">point_type</a> typedef</td><td><a class="el" href="structggl_1_1area__result.html">ggl::area_result&lt; Geometry &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">return_type</a> typedef</td><td><a class="el" href="structggl_1_1area__result.html">ggl::area_result&lt; Geometry &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1area__result.html#ccb03cf635c157788a99c33d8f3c3a1e">strategy_type</a> typedef</td><td><a class="el" href="structggl_1_1area__result.html">ggl::area_result&lt; Geometry &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,149 @@
+<!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">
+&nbsp;&nbsp;
+</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_1area__result.html">area_result</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::area_result&lt; Geometry &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::area_result" -->
+<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_1point__type.html">point_type</a>&lt; Geometry &gt;<br class="typebreak">
+::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1area__result.html#d6428313802f153cd99b803ecde23872">point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef strategy_type::return_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1strategy__area.html">strategy_area</a><br class="typebreak">
+&lt; typename <a class="el" href="structggl_1_1cs__tag.html">cs_tag</a>&lt; <a class="el" href="structggl_1_1point__type.html">point_type</a> &gt;<br class="typebreak">
+::type, <a class="el" href="structggl_1_1point__type.html">point_type</a> &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1area__result.html#ccb03cf635c157788a99c33d8f3c3a1e">strategy_type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::area_result&lt; Geometry &gt;</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>
+<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">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1point__type.html">point_type</a>&lt;Geometry&gt;::type <a class="el" href="structggl_1_1area__result.html">ggl::area_result</a>&lt; Geometry &gt;::<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="algorithms_2area_8hpp_source.html#l00196">196</a> of file <a class="el" href="algorithms_2area_8hpp_source.html">area.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ccb03cf635c157788a99c33d8f3c3a1e"></a><!-- doxytag: member="ggl::area_result::strategy_type" ref="ccb03cf635c157788a99c33d8f3c3a1e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy__area.html">strategy_area</a>&lt; typename <a class="el" href="structggl_1_1cs__tag.html">cs_tag</a>&lt;<a class="el" href="structggl_1_1point__type.html">point_type</a>&gt;::type, <a class="el" href="structggl_1_1point__type.html">point_type</a> &gt;::type <a class="el" href="structggl_1_1area__result.html">ggl::area_result</a>&lt; Geometry &gt;::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">strategy_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="4915057a85bc6a0c7292b3db1e4f33be"></a><!-- doxytag: member="ggl::area_result::return_type" ref="4915057a85bc6a0c7292b3db1e4f33be" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef strategy_type::return_type <a class="el" href="structggl_1_1area__result.html">ggl::area_result</a>&lt; Geometry &gt;::<a class="el" href="structggl_1_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1as__range__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1as__range__type-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::as_range_type&lt; Geometry &gt; 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&lt; Geometry &gt;</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&lt; Geometry &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1as__range__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1as__range__type.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1as__range__type.html">as_range_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::as_range_type&lt; Geometry &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__utility.html">utility: utilities</a>]</small>
+</h1><!-- doxytag: class="ggl::as_range_type" -->Meta-function utility returning either type itself, or outer ring.
+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::as_range_type<br class="typebreak">
+&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt; Geometry &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">type</a>, Geometry &gt;::<a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::as_range_type&lt; Geometry &gt;</h3>
+
+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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="0ca47e830e61d4f6c0b33c5e8eaa5c4e"></a><!-- doxytag: member="ggl::as_range_type::type" ref="0ca47e830e61d4f6c0b33c5e8eaa5c4e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef dispatch::as_range_type&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt;Geometry&gt;::<a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">type</a>, Geometry &gt;::<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>&lt; Geometry &gt;::<a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1box__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1box__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1box__tag.html">box_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::box_tag Struct Reference</h1><!-- doxytag: class="ggl::box_tag" -->Convenience 2D or 3D <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> (mbr) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Convenience 2D or 3D <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> (mbr) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00054">54</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__distance-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__distance-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,77 @@
+<!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">
+&nbsp;&nbsp;
+</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::cartesian_distance&lt; T &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68">cartesian_distance</a>(T const &amp;v)</td><td><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1cartesian__distance.html#0f7ef783e29548ca43f47bee6bca108e">operator cast_type</a>() const </td><td><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">operator&lt;</a>(cartesian_distance&lt; T &gt; const &amp;other) const </td><td><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1cartesian__distance.html#5a78899edbed0eae576b6fdc5f784ad2">operator&lt;&lt;</a>(std::basic_ostream&lt; CH, TR &gt; &amp;os, cartesian_distance&lt; T &gt; const &amp;d)</td><td><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1cartesian__distance.html#951bdb772253f50194a754b7740f54b7">operator==</a>(cartesian_distance&lt; T &gt; const &amp;other) const </td><td><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">operator&gt;</a>(cartesian_distance&lt; T &gt; const &amp;other) const </td><td><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b">squared_value</a>() const </td><td><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">very_small</a>() const </td><td><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__distance.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__distance.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,322 @@
+<!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">
+&nbsp;&nbsp;
+</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_1cartesian__distance.html">cartesian_distance</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::cartesian_distance&lt; T &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance calculation</a>]</small>
+</h1><!-- doxytag: class="ggl::cartesian_distance" -->Encapsulate the results of distance 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 Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68">cartesian_distance</a> (T const &amp;v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor with a value. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cartesian__distance.html#0f7ef783e29548ca43f47bee6bca108e">operator cast_type</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">operator&lt;</a> (<a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a>&lt; T &gt; const &amp;other) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cartesian__distance.html#951bdb772253f50194a754b7740f54b7">operator==</a> (<a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a>&lt; T &gt; const &amp;other) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">operator&gt;</a> (<a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a>&lt; T &gt; const &amp;other) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b">squared_value</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The "squared_value" method returns the internal squared value. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">very_small</a> () const </td></tr>
+
+<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename CH , typename TR &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::basic_ostream&lt; CH, TR &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structggl_1_1cartesian__distance.html#5a78899edbed0eae576b6fdc5f784ad2">operator&lt;&lt;</a> (std::basic_ostream&lt; CH, TR &gt; &amp;os, <a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a>&lt; T &gt; const &amp;d)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make streamable to enable std::cout &lt;&lt; <a class="el" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance( )</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T = double&gt;<br>
+ struct ggl::cartesian_distance&lt; T &gt;</h3>
+
+Encapsulate the results of distance calculation.
+<p>
+Distance calculation for xy points or xyz points is done by taking the square root. However, for distance comparison drawing the square root is not necessary. Therefore the distance strategies are allowed to return the squares of the distance. This structure contains the distance, and a boolean to indicate if it is squared. It has an automatic conversion to a double value, which does the square root if necessary. <dl class="note" compact><dt><b>Note:</b></dt><dd>Thanks to Phil Endecott for his suggestion to change the pair to the double-convertable http://article.gmane.org/gmane.comp.lib.boost.devel/172709/match=greatcircle_distance <p>
+It might be templatized with a T </dd></dl>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00035">35</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="441dcc3558edeb3bee94c667cfdfbd68"></a><!-- doxytag: member="ggl::cartesian_distance::cartesian_distance" ref="441dcc3558edeb3bee94c667cfdfbd68" args="(T const &amp;v)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T = double&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance</a>&lt; T &gt;::<a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a> </td>
+ <td>(</td>
+ <td class="paramtype">T const &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor with a value.
+<p>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00057">57</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="0f7ef783e29548ca43f47bee6bca108e"></a><!-- doxytag: member="ggl::cartesian_distance::operator cast_type" ref="0f7ef783e29548ca43f47bee6bca108e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T = double&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance</a>&lt; T &gt;::operator cast_type </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Automatic conversion to double or higher precision, taking squareroot if necessary
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00061">61</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="51d4f3bf5567b0524530fa7bff0c7b66"></a><!-- doxytag: member="ggl::cartesian_distance::operator&lt;" ref="51d4f3bf5567b0524530fa7bff0c7b66" args="(cartesian_distance&lt; T &gt; const &amp;other) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T = double&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance</a>&lt; T &gt;::operator&lt; </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a>&lt; T &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00071">71</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ceef956ddf49e24629a558758f44c8a6"></a><!-- doxytag: member="ggl::cartesian_distance::operator&gt;" ref="ceef956ddf49e24629a558758f44c8a6" args="(cartesian_distance&lt; T &gt; const &amp;other) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T = double&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance</a>&lt; T &gt;::operator&gt; </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a>&lt; T &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00075">75</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="951bdb772253f50194a754b7740f54b7"></a><!-- doxytag: member="ggl::cartesian_distance::operator==" ref="951bdb772253f50194a754b7740f54b7" args="(cartesian_distance&lt; T &gt; const &amp;other) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T = double&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance</a>&lt; T &gt;::operator== </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a>&lt; T &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00079">79</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="26942eda96fb105ee48a9d7c0ae8631c"></a><!-- doxytag: member="ggl::cartesian_distance::very_small" ref="26942eda96fb105ee48a9d7c0ae8631c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T = double&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance</a>&lt; T &gt;::very_small </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00104">104</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="4f02e39f538a1bc1551b3e22a08ca94b"></a><!-- doxytag: member="ggl::cartesian_distance::squared_value" ref="4f02e39f538a1bc1551b3e22a08ca94b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T = double&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">T <a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance</a>&lt; T &gt;::squared_value </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The "squared_value" method returns the internal squared value.
+<p>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00110">110</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="5a78899edbed0eae576b6fdc5f784ad2"></a><!-- doxytag: member="ggl::cartesian_distance::operator&lt;&lt;" ref="5a78899edbed0eae576b6fdc5f784ad2" args="(std::basic_ostream&lt; CH, TR &gt; &amp;os, cartesian_distance&lt; T &gt; const &amp;d)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T = double&gt; </div>
+<div class="memtemplate">
+template&lt;typename CH , typename TR &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">std::basic_ostream&lt;CH, TR&gt;&amp; operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">std::basic_ostream&lt; CH, TR &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a>&lt; T &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>d</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [friend]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Make streamable to enable std::cout &lt;&lt; <a class="el" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance( )</a>.
+<p>
+
+<p>Definition at line <a class="el" href="distance__result_8hpp_source.html#l00117">117</a> of file <a class="el" href="distance__result_8hpp_source.html">distance_result.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1cartesian__tag.html">cartesian_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::cartesian_tag Struct Reference</h1><!-- doxytag: class="ggl::cartesian_tag" -->Tag indicating Cartesian coordinate system family (cartesian,epsg).
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Tag indicating Cartesian coordinate system family (cartesian,epsg).
+<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00026">26</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1circular__iterator-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1circular__iterator-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,73 @@
+<!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">
+&nbsp;&nbsp;
+</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::circular_iterator&lt; Iterator &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1circular__iterator.html">ggl::circular_iterator&lt; Iterator &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1circular__iterator.html#c09f73e325921cc50ebcd96bed0f8096">boost::iterator_core_access</a> class</td><td><a class="el" href="structggl_1_1circular__iterator.html">ggl::circular_iterator&lt; Iterator &gt;</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1circular__iterator.html#be1c3556eefbae4d3dee51925873bace">circular_iterator</a>(Iterator begin, Iterator end, Iterator start)</td><td><a class="el" href="structggl_1_1circular__iterator.html">ggl::circular_iterator&lt; Iterator &gt;</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1circular__iterator.html#1ebd24f5827f4019967ab05c5aee4e0b">circular_iterator</a>(Iterator end)</td><td><a class="el" href="structggl_1_1circular__iterator.html">ggl::circular_iterator&lt; Iterator &gt;</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1circular__iterator.html#7bf49b36a96ab752a363b620bef96d78">moveto</a>(Iterator it)</td><td><a class="el" href="structggl_1_1circular__iterator.html">ggl::circular_iterator&lt; Iterator &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1circular__iterator.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1circular__iterator.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,210 @@
+<!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">
+&nbsp;&nbsp;
+</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_1circular__iterator.html">circular_iterator</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::circular_iterator&lt; Iterator &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::circular_iterator" -->Iterator which goes circular through a range, starting at a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, ending at that <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1circular__iterator.html#1ebd24f5827f4019967ab05c5aee4e0b">circular_iterator</a> (Iterator end)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1circular__iterator.html#be1c3556eefbae4d3dee51925873bace">circular_iterator</a> (Iterator begin, Iterator end, Iterator start)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1circular__iterator.html#7bf49b36a96ab752a363b620bef96d78">moveto</a> (Iterator it)</td></tr>
+
+<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1circular__iterator.html#c09f73e325921cc50ebcd96bed0f8096">boost::iterator_core_access</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Iterator&gt;<br>
+ struct ggl::circular_iterator&lt; Iterator &gt;</h3>
+
+Iterator which goes circular through a range, starting at a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, ending at that <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
+<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>Iterator</em>&nbsp;</td><td>iterator on which this class is based on </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="circular__iterator_8hpp_source.html#l00027">27</a> of file <a class="el" href="circular__iterator_8hpp_source.html">circular_iterator.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="be1c3556eefbae4d3dee51925873bace"></a><!-- doxytag: member="ggl::circular_iterator::circular_iterator" ref="be1c3556eefbae4d3dee51925873bace" args="(Iterator begin, Iterator end, Iterator start)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Iterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1circular__iterator.html">ggl::circular_iterator</a>&lt; Iterator &gt;::<a class="el" href="structggl_1_1circular__iterator.html">circular_iterator</a> </td>
+ <td>(</td>
+ <td class="paramtype">Iterator&nbsp;</td>
+ <td class="paramname"> <em>begin</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Iterator&nbsp;</td>
+ <td class="paramname"> <em>end</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Iterator&nbsp;</td>
+ <td class="paramname"> <em>start</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="circular__iterator_8hpp_source.html#l00036">36</a> of file <a class="el" href="circular__iterator_8hpp_source.html">circular_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="1ebd24f5827f4019967ab05c5aee4e0b"></a><!-- doxytag: member="ggl::circular_iterator::circular_iterator" ref="1ebd24f5827f4019967ab05c5aee4e0b" args="(Iterator end)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Iterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1circular__iterator.html">ggl::circular_iterator</a>&lt; Iterator &gt;::<a class="el" href="structggl_1_1circular__iterator.html">circular_iterator</a> </td>
+ <td>(</td>
+ <td class="paramtype">Iterator&nbsp;</td>
+ <td class="paramname"> <em>end</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="circular__iterator_8hpp_source.html#l00045">45</a> of file <a class="el" href="circular__iterator_8hpp_source.html">circular_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="7bf49b36a96ab752a363b620bef96d78"></a><!-- doxytag: member="ggl::circular_iterator::moveto" ref="7bf49b36a96ab752a363b620bef96d78" args="(Iterator it)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Iterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="structggl_1_1circular__iterator.html">ggl::circular_iterator</a>&lt; Iterator &gt;::moveto </td>
+ <td>(</td>
+ <td class="paramtype">Iterator&nbsp;</td>
+ <td class="paramname"> <em>it</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Navigate to a certain position, should be in [start .. end], it at end it will circle again.
+<p>Definition at line <a class="el" href="circular__iterator_8hpp_source.html#l00055">55</a> of file <a class="el" href="circular__iterator_8hpp_source.html">circular_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="c09f73e325921cc50ebcd96bed0f8096"></a><!-- doxytag: member="ggl::circular_iterator::boost::iterator_core_access" ref="c09f73e325921cc50ebcd96bed0f8096" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Iterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class boost::iterator_core_access<code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="circular__iterator_8hpp_source.html#l00034">34</a> of file <a class="el" href="circular__iterator_8hpp_source.html">circular_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_box-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_box-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Box&lt; B &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box&lt; B &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_box.html#6fa5d3378f1f34978c07d54abf69f753">BOOST_CONCEPT_USAGE</a>(Box)</td><td><a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box&lt; B &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_box.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_box.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_box.html">Box</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Box&lt; B &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Box" -->Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker&lt; C, N, N &gt;</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_box.html#6fa5d3378f1f34978c07d54abf69f753">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_box.html">Box</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename B&gt;<br>
+ struct ggl::concept::Box&lt; B &gt;</h3>
+
+Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00030">30</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="6fa5d3378f1f34978c07d54abf69f753"></a><!-- doxytag: member="ggl::concept::Box::BOOST_CONCEPT_USAGE" ref="6fa5d3378f1f34978c07d54abf69f753" args="(Box)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box</a>&lt; B &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_box.html">Box</a>&lt; B &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00055">55</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_box-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_box-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstBox&lt; B &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox&lt; B &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_const_box.html#0deab699f7cecb2854ba52635635405f">BOOST_CONCEPT_USAGE</a>(ConstBox)</td><td><a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox&lt; B &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_box.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_box.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_const_box.html">ConstBox</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstBox&lt; B &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConstBox" -->Checks <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker&lt; C, N, N &gt;</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_box.html#0deab699f7cecb2854ba52635635405f">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_const_box.html">ConstBox</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_box.html" title="Checks Box concept (const version).">ConstBox</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename B&gt;<br>
+ struct ggl::concept::ConstBox&lt; B &gt;</h3>
+
+Checks <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="structggl_1_1concept_1_1_const_box.html" title="Checks Box concept (const version).">ConstBox</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
+<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00071">71</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="0deab699f7cecb2854ba52635635405f"></a><!-- doxytag: member="ggl::concept::ConstBox::BOOST_CONCEPT_USAGE" ref="0deab699f7cecb2854ba52635635405f" args="(ConstBox)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox</a>&lt; B &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_const_box.html">ConstBox</a>&lt; B &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_box.html" title="Checks Box concept (const version).">ConstBox</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00098">98</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_linestring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_linestring-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstLinestring&lt; L &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring&lt; L &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_const_linestring.html#8154a02204ad8183d57420846e7b5449">BOOST_CONCEPT_USAGE</a>(ConstLinestring)</td><td><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring&lt; L &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_linestring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_linestring.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstLinestring&lt; L &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConstLinestring" -->Checks <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html#8154a02204ad8183d57420846e7b5449">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_linestring.html" title="Checks Linestring concept (const version).">ConstLinestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename L&gt;<br>
+ struct ggl::concept::ConstLinestring&lt; L &gt;</h3>
+
+Checks <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="structggl_1_1concept_1_1_const_linestring.html" title="Checks Linestring concept (const version).">ConstLinestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
+<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00065">65</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="8154a02204ad8183d57420846e7b5449"></a><!-- doxytag: member="ggl::concept::ConstLinestring::BOOST_CONCEPT_USAGE" ref="8154a02204ad8183d57420846e7b5449" args="(ConstLinestring)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename L &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring</a>&lt; L &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a>&lt; L &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_linestring.html" title="Checks Linestring concept (const version).">ConstLinestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00076">76</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_nsphere-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_nsphere-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::ConstNsphere&lt; S &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ggl::concept::ConstNsphere&lt; S &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html#cf6dfbdf9c9bceab4e3b481b95f1fb11">BOOST_CONCEPT_USAGE</a>(ConstNsphere)</td><td><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ggl::concept::ConstNsphere&lt; S &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_nsphere.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_nsphere.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ConstNsphere</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstNsphere&lt; S &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConstNsphere" -->Checks <a class="el" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+More...
+<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 &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker&lt; N, N &gt;</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html#cf6dfbdf9c9bceab4e3b481b95f1fb11">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ConstNsphere</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_nsphere.html" title="Checks Nsphere concept (const version).">ConstNsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename S&gt;<br>
+ struct ggl::concept::ConstNsphere&lt; S &gt;</h3>
+
+Checks <a class="el" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="structggl_1_1concept_1_1_const_nsphere.html" title="Checks Nsphere concept (const version).">ConstNsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
+<p>Definition at line <a class="el" href="nsphere__concept_8hpp_source.html#l00027">27</a> of file <a class="el" href="nsphere__concept_8hpp_source.html">nsphere_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="cf6dfbdf9c9bceab4e3b481b95f1fb11"></a><!-- doxytag: member="ggl::concept::ConstNsphere::BOOST_CONCEPT_USAGE" ref="cf6dfbdf9c9bceab4e3b481b95f1fb11" args="(ConstNsphere)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ggl::concept::ConstNsphere</a>&lt; S &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ConstNsphere</a>&lt; S &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_nsphere.html" title="Checks Nsphere concept (const version).">ConstNsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="nsphere__concept_8hpp_source.html#l00055">55</a> of file <a class="el" href="nsphere__concept_8hpp_source.html">nsphere_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_point-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_point-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstPoint&lt; X &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint&lt; X &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_const_point.html#4fa25bd423c491516e0453c2aad75a0a">BOOST_CONCEPT_USAGE</a>(ConstPoint)</td><td><a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint&lt; X &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_point.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_const_point.html">ConstPoint</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstPoint&lt; X &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConstPoint" -->Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker&lt; P, Count, Count &gt;</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_point.html#4fa25bd423c491516e0453c2aad75a0a">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_const_point.html">ConstPoint</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename X&gt;<br>
+ struct ggl::concept::ConstPoint&lt; X &gt;</h3>
+
+Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
+<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00106">106</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="4fa25bd423c491516e0453c2aad75a0a"></a><!-- doxytag: member="ggl::concept::ConstPoint::BOOST_CONCEPT_USAGE" ref="4fa25bd423c491516e0453c2aad75a0a" args="(ConstPoint)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename X &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint</a>&lt; X &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_const_point.html">ConstPoint</a>&lt; X &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00138">138</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_polygon-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_polygon-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstPolygon&lt; P &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon&lt; P &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_const_polygon.html#efa7d199dbc8b2e17308e175fe4e33ca">BOOST_CONCEPT_USAGE</a>(ConstPolygon)</td><td><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon&lt; P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_polygon.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_polygon.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstPolygon&lt; P &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConstPolygon" -->Checks <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html#efa7d199dbc8b2e17308e175fe4e33ca">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_polygon.html" title="Checks Polygon concept (const version).">ConstPolygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::concept::ConstPolygon&lt; P &gt;</h3>
+
+Checks <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="structggl_1_1concept_1_1_const_polygon.html" title="Checks Polygon concept (const version).">ConstPolygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
+<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00098">98</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="efa7d199dbc8b2e17308e175fe4e33ca"></a><!-- doxytag: member="ggl::concept::ConstPolygon::BOOST_CONCEPT_USAGE" ref="efa7d199dbc8b2e17308e175fe4e33ca" args="(ConstPolygon)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon</a>&lt; P &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a>&lt; P &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_polygon.html" title="Checks Polygon concept (const version).">ConstPolygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00112">112</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_ring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_ring-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstRing&lt; R &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing&lt; R &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_const_ring.html#1b6553b6ed0d5716bbc0044f7f29cfb2">BOOST_CONCEPT_USAGE</a>(ConstRing)</td><td><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing&lt; R &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_ring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_ring.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_const_ring.html">ConstRing</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstRing&lt; R &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConstRing" -->Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_ring.html#1b6553b6ed0d5716bbc0044f7f29cfb2">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_const_ring.html">ConstRing</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the ConstLinearRing <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename R&gt;<br>
+ struct ggl::concept::ConstRing&lt; R &gt;</h3>
+
+Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The ConstLinearRing <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
+<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00065">65</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="1b6553b6ed0d5716bbc0044f7f29cfb2"></a><!-- doxytag: member="ggl::concept::ConstRing::BOOST_CONCEPT_USAGE" ref="1b6553b6ed0d5716bbc0044f7f29cfb2" args="(ConstRing)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename R &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing</a>&lt; R &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ConstRing</a>&lt; R &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the ConstLinearRing <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00075">75</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_segment-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstSegment&lt; S &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment&lt; S &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_const_segment.html#79691668dde1be67b7a497a6b1cd31ce">BOOST_CONCEPT_USAGE</a>(ConstSegment)</td><td><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment&lt; S &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_segment.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_const_segment.html">ConstSegment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstSegment&lt; S &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConstSegment" -->Checks <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker&lt; C, N, N &gt;</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_segment.html#79691668dde1be67b7a497a6b1cd31ce">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_const_segment.html">ConstSegment</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_segment.html" title="Checks Segment concept (const version).">ConstSegment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename S&gt;<br>
+ struct ggl::concept::ConstSegment&lt; S &gt;</h3>
+
+Checks <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="structggl_1_1concept_1_1_const_segment.html" title="Checks Segment concept (const version).">ConstSegment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
+<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00077">77</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="79691668dde1be67b7a497a6b1cd31ce"></a><!-- doxytag: member="ggl::concept::ConstSegment::BOOST_CONCEPT_USAGE" ref="79691668dde1be67b7a497a6b1cd31ce" args="(ConstSegment)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment</a>&lt; S &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ConstSegment</a>&lt; S &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_segment.html" title="Checks Segment concept (const version).">ConstSegment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00107">107</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_linestring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_linestring-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Linestring&lt; L &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring&lt; L &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_linestring.html#93370176c63ec560ead3a1cd8c8c3693">BOOST_CONCEPT_USAGE</a>(Linestring)</td><td><a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring&lt; L &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_linestring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_linestring.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_linestring.html">Linestring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Linestring&lt; L &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Linestring" -->Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_linestring.html#93370176c63ec560ead3a1cd8c8c3693">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_linestring.html">Linestring</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename L&gt;<br>
+ struct ggl::concept::Linestring&lt; L &gt;</h3>
+
+Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00037">37</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="93370176c63ec560ead3a1cd8c8c3693"></a><!-- doxytag: member="ggl::concept::Linestring::BOOST_CONCEPT_USAGE" ref="93370176c63ec560ead3a1cd8c8c3693" args="(Linestring)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename L &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring</a>&lt; L &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_linestring.html">Linestring</a>&lt; L &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00047">47</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_nsphere-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_nsphere-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::Nsphere&lt; S &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_nsphere.html">ggl::concept::Nsphere&lt; S &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_nsphere.html#f7a6ea630944b84202eed0a9de90cff4">BOOST_CONCEPT_USAGE</a>(Nsphere)</td><td><a class="el" href="structggl_1_1concept_1_1_nsphere.html">ggl::concept::Nsphere&lt; S &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_nsphere.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_nsphere.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_nsphere.html">Nsphere</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Nsphere&lt; S &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Nsphere" -->Checks <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+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 &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker&lt; N, N &gt;</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_nsphere.html#f7a6ea630944b84202eed0a9de90cff4">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_nsphere.html">Nsphere</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename S&gt;<br>
+ struct ggl::concept::Nsphere&lt; S &gt;</h3>
+
+Checks <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+<p>Definition at line <a class="el" href="nsphere__concept_8hpp_source.html#l00074">74</a> of file <a class="el" href="nsphere__concept_8hpp_source.html">nsphere_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="f7a6ea630944b84202eed0a9de90cff4"></a><!-- doxytag: member="ggl::concept::Nsphere::BOOST_CONCEPT_USAGE" ref="f7a6ea630944b84202eed0a9de90cff4" args="(Nsphere)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_nsphere.html">ggl::concept::Nsphere</a>&lt; S &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_nsphere.html">Nsphere</a>&lt; S &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="nsphere__concept_8hpp_source.html#l00102">102</a> of file <a class="el" href="nsphere__concept_8hpp_source.html">nsphere_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Point&lt; X &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_point.html">ggl::concept::Point&lt; X &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_point.html#59ab6c36bc854b94ee2404d084605f7b">BOOST_CONCEPT_USAGE</a>(Point)</td><td><a class="el" href="structggl_1_1concept_1_1_point.html">ggl::concept::Point&lt; X &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,259 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_point.html">Point</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Point&lt; X &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Point" -->Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker&lt; P, Count, Count &gt;</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point.html#59ab6c36bc854b94ee2404d084605f7b">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_point.html">Point</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename X&gt;<br>
+ struct ggl::concept::Point&lt; X &gt;</h3>
+
+Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+<p>
+The <a class="el" href="namespaceggl_1_1concept.html">concept</a> is separated into 4 metafunctions:<ul>
+<li><a class="el" href="structggl_1_1traits_1_1coordinate__type.html">coordinate_type</a>: provides the type of the coordinates of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a></li><li><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">coordinate system</a>: provides the coordinate system in which the <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is placed</li><li><a class="el" href="structggl_1_1traits_1_1dimension.html">dimension</a>: provides the number of coordinates of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a></li><li><a class="el" href="structggl_1_1traits_1_1access.html">access</a>: provides access to the coordinates of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">poin
t</a></li></ul>
+<p>
+In MPL, a metafunction that provides a type must expose is as "type" and a metafunction that provides a value must expose it as "value", so here the same convention are used: <a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type&lt;P&gt;::type</a> and dimension&lt;P&gt;::value provide the type and number of coordinates. This makes them compatible with any MPL and Fusion algorithm and metafunction.<p>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>First example, using an own pointtype, for example a legacy <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, defining the necessary properties outside the pointtype in a <a class="el" href="namespaceggl_1_1traits.html">traits</a> class <div class="fragment"><pre class="fragment"><span class="keyword">struct </span>example_point_1
+{
+ <span class="comment">// Example point, for example a legacy point defining somewhere an x and an y coordinate</span>
+ <span class="keywordtype">double</span> x, y;
+};
+
+
+<span class="keyword">namespace </span>ggl
+{
+ <span class="keyword">namespace </span>traits
+ {
+ <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> I&gt; <span class="keyword">struct </span>accessor;
+
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>accessor&lt;0&gt;
+ {
+ <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(<span class="keyword">const</span> example_point_1&amp; p) { <span class="keywordflow">return</span> p.x; }
+ <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(example_point_1&amp; p, <span class="keyword">const</span> <span class="keywordtype">double</span>&amp; value) { p.x = value; }
+ };
+
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>accessor&lt;1&gt;
+ {
+ <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(<span class="keyword">const</span> example_point_1&amp; p) { <span class="keywordflow">return</span> p.y; }
+ <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(example_point_1&amp; p, <span class="keyword">const</span> <span class="keywordtype">double</span>&amp; value) { p.y = value; }
+ };
+
+ <span class="comment">// For legacy points, define the necessary structs coordinate (with typedef),</span>
+ <span class="comment">// dimension (with value) and access (with get function).</span>
+ <span class="comment">// Be sure to define them within the namespace ggl::traits</span>
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>tag&lt;example_point_1&gt; { <span class="keyword">typedef</span> point_tag type; };
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>coordinate_type&lt;example_point_1&gt; { <span class="keyword">typedef</span> <span class="keywordtype">double</span> type; };
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>coordinate_system&lt;example_point_1&gt; { <span class="keyword">typedef</span> cs::cartesian type; };
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;example_point_1&gt;: boost::mpl::int_&lt;2&gt; {};
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>access&lt;example_point_1&gt;
+ {
+ <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> I&gt;
+ <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(<span class="keyword">const</span> example_point_1&amp; p)
+ { <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">accessor&lt;I&gt;::get</a>(p); }
+
+ <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> I&gt;
+ <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(example_point_1&amp; p, <span class="keyword">const</span> <span class="keywordtype">double</span>&amp; value)
+ { <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">accessor&lt;I&gt;::set</a>(p, value); }
+ };
+ }
+}
+
+<span class="keyword">namespace </span>example_own_point1
+{
+ <span class="comment">// The first way to check a concept at compile time: checking if the input is parameter</span>
+ <span class="comment">// or return type is OK.</span>
+ <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+ BOOST_CONCEPT_REQUIRES(((<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">ggl::concept::Point&lt;P&gt;</a>)), (<span class="keywordtype">void</span>))
+ test1(P&amp; p)
+ {
+ }
+
+ <span class="comment">// The second way to check a concept at compile time: checking if the provided type,</span>
+ <span class="comment">// inside the function, if OK</span>
+ <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+ <span class="keywordtype">void</span> test2(P&amp; p)
+ {
+ BOOST_CONCEPT_ASSERT((<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">ggl::concept::Point&lt;P&gt;</a>));
+ }
+
+
+ <span class="keywordtype">void</span> example()
+ {
+ example_point_1 p;
+ test1(p);
+ test2(p);
+ }
+} <span class="comment">//:\\</span>
+</pre></div> </dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Second example, deriving a pointtype from boost::tuple. It defines the necessary properties itself, so a separate <a class="el" href="namespaceggl_1_1traits.html">traits</a> class is not necessary. <div class="fragment"><pre class="fragment">{
+ <span class="keyword">struct </span>example_point_2: boost::tuple&lt;float, float&gt;
+ {
+ example_point_2(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y)
+ {
+ get&lt;0&gt;() = x;
+ get&lt;1&gt;() = y;
+ }
+ };
+}
+
+<span class="comment">// WILL BE CONVERTED TO MACRO</span>
+<span class="keyword">namespace </span>ggl
+{
+ <span class="keyword">namespace </span>traits
+ {
+ <span class="keyword">using namespace </span>example_own_point2;
+
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>tag&lt;example_point_2 &gt; { <span class="keyword">typedef</span> point_tag type; };
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>coordinate_type&lt;example_point_2 &gt; { <span class="keyword">typedef</span> <span class="keywordtype">float</span> type; };
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>coordinate_system&lt;example_point_2 &gt; { <span class="keyword">typedef</span> <a class="code" href="structggl_1_1cs_1_1cartesian.html" title="Cartesian coordinate system.">ggl::cs::cartesian</a> type; };
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;example_point_2 &gt; : boost::mpl::int_&lt;2&gt; {};
+ <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>access&lt;example_point_2 &gt;
+ {
+ <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> I&gt;
+ <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">float</span> <span class="keyword">get</span>(<span class="keyword">const</span> example_point_2&amp; p) { <span class="keywordflow">return</span> p.get&lt;I&gt;(); }
+
+ <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> I&gt;
+ <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(example_point_2&amp; p, <span class="keyword">const</span> <span class="keywordtype">float</span>&amp; value) { p.get&lt;I&gt;() = value; }
+ };
+
+ <span class="comment">// The library user has</span>
+ <span class="comment">// 1) either to specify the coordinate system</span>
+ <span class="comment">// 2) or include &lt;ggl/geometries/adapted/tuple__at_.hpp&gt; where @=cartesian,geographic,...</span>
+ }
+}
+
+
+<span class="keyword">namespace </span>example_own_point2
+{
+
+
+ <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
+ BOOST_CONCEPT_REQUIRES(((<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ggl::concept::ConstPoint&lt;P&gt;</a>)), (<span class="keywordtype">float</span>))
+ test3(P&amp; p)
+ {
+ <span class="keywordflow">return</span> ggl::get&lt;0&gt;(p);
+ }
+
+ <span class="keywordtype">void</span> example()
+ {
+ example_point_2 p(1,2);
+ test3(p);
+ }
+} <span class="comment">//:\\</span>
+</pre></div> </dd></dl>
+
+<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00061">61</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="59ab6c36bc854b94ee2404d084605f7b"></a><!-- doxytag: member="ggl::concept::Point::BOOST_CONCEPT_USAGE" ref="59ab6c36bc854b94ee2404d084605f7b" args="(Point)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename X &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_point.html">ggl::concept::Point</a>&lt; X &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_point.html">Point</a>&lt; X &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00092">92</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_polygon-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_polygon-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Polygon&lt; P &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon&lt; P &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_polygon.html#69581c3daae416341fbe72829f567278">BOOST_CONCEPT_USAGE</a>(Polygon)</td><td><a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon&lt; P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_polygon.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_polygon.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_polygon.html">Polygon</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Polygon&lt; P &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Polygon" -->Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_polygon.html#69581c3daae416341fbe72829f567278">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_polygon.html">Polygon</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::concept::Polygon&lt; P &gt;</h3>
+
+Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00065">65</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="69581c3daae416341fbe72829f567278"></a><!-- doxytag: member="ggl::concept::Polygon::BOOST_CONCEPT_USAGE" ref="69581c3daae416341fbe72829f567278" args="(Polygon)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon</a>&lt; P &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_polygon.html">Polygon</a>&lt; P &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00079">79</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_ring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_ring-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Ring&lt; R &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring&lt; R &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_ring.html#eb5f0045673fa11f20e4b48856a4bf69">BOOST_CONCEPT_USAGE</a>(Ring)</td><td><a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring&lt; R &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_ring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_ring.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_ring.html">Ring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Ring&lt; R &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Ring" -->Checks (linear) <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_ring.html#eb5f0045673fa11f20e4b48856a4bf69">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_ring.html">Ring</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename R&gt;<br>
+ struct ggl::concept::Ring&lt; R &gt;</h3>
+
+Checks (linear) <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00037">37</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="eb5f0045673fa11f20e4b48856a4bf69"></a><!-- doxytag: member="ggl::concept::Ring::BOOST_CONCEPT_USAGE" ref="eb5f0045673fa11f20e4b48856a4bf69" args="(Ring)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename R &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring</a>&lt; R &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_ring.html">Ring</a>&lt; R &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00048">48</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_segment-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Segment&lt; S &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment&lt; S &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_segment.html#d2e340dff544a40ed257a1823dfd4749">BOOST_CONCEPT_USAGE</a>(Segment)</td><td><a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment&lt; S &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_segment.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_segment.html">Segment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Segment&lt; S &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Segment" -->Checks <a class="el" href="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...
+<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 &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension_checker&lt; C, N, N &gt;</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_segment.html#d2e340dff544a40ed257a1823dfd4749">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_segment.html">Segment</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename S&gt;<br>
+ struct ggl::concept::Segment&lt; S &gt;</h3>
+
+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.
+<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00033">33</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="d2e340dff544a40ed257a1823dfd4749"></a><!-- doxytag: member="ggl::concept::Segment::BOOST_CONCEPT_USAGE" ref="d2e340dff544a40ed257a1823dfd4749" args="(Segment)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment</a>&lt; S &gt;::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_segment.html">Segment</a>&lt; S &gt;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00061">61</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__system-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__system-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::coordinate_system&lt; G &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system&lt; G &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1coordinate__system.html#c53f29d9ef862a2f281a9bf516521c46">ncg</a> typedef</td><td><a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system&lt; G &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">type</a> typedef</td><td><a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system&lt; G &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__system.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__system.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1coordinate__system.html">coordinate_system</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::coordinate_system&lt; G &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::coordinate_system" -->Meta-function which defines coordinate system for 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&lt; G &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1coordinate__system.html#c53f29d9ef862a2f281a9bf516521c46">ncg</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
+core_dispatch::coordinate_system<br class="typebreak">
+&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt; G &gt;::<a class="el" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">type</a>, <a class="el" href="structggl_1_1coordinate__system.html#c53f29d9ef862a2f281a9bf516521c46">ncg</a> &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::coordinate_system&lt; G &gt;</h3>
+
+Meta-function which defines coordinate system for any geometry.
+<p>Definition at line <a class="el" href="coordinate__system_8hpp_source.html#l00069">69</a> of file <a class="el" href="coordinate__system_8hpp_source.html">coordinate_system.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="c53f29d9ef862a2f281a9bf516521c46"></a><!-- doxytag: member="ggl::coordinate_system::ncg" ref="c53f29d9ef862a2f281a9bf516521c46" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::remove_const&lt;G&gt;::<a class="el" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">type</a> <a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system</a>&lt; G &gt;::<a class="el" href="structggl_1_1coordinate__system.html#c53f29d9ef862a2f281a9bf516521c46">ncg</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="coordinate__system_8hpp_source.html#l00071">71</a> of file <a class="el" href="coordinate__system_8hpp_source.html">coordinate_system.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a307f40744cc79a4c29ba951dc88fcb4"></a><!-- doxytag: member="ggl::coordinate_system::type" ref="a307f40744cc79a4c29ba951dc88fcb4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef core_dispatch::coordinate_system&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt;G&gt;::<a class="el" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">type</a>, <a class="el" href="structggl_1_1coordinate__system.html#c53f29d9ef862a2f281a9bf516521c46">ncg</a>&gt;::<a class="el" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">type</a> <a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system</a>&lt; G &gt;::<a class="el" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="coordinate__system_8hpp_source.html#l00073">73</a> of file <a class="el" href="coordinate__system_8hpp_source.html">coordinate_system.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__type-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::coordinate_type&lt; G &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1coordinate__type.html">ggl::coordinate_type&lt; G &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1coordinate__type.html#a2452b2ff15dcb3de239e970cce63bd7">ncg</a> typedef</td><td><a class="el" href="structggl_1_1coordinate__type.html">ggl::coordinate_type&lt; G &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">type</a> typedef</td><td><a class="el" href="structggl_1_1coordinate__type.html">ggl::coordinate_type&lt; G &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1coordinate__type.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1coordinate__type.html">coordinate_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::coordinate_type&lt; G &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::coordinate_type" -->Meta-function which defines coordinate type (int, float, double, etc) 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&lt; G &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1coordinate__type.html#a2452b2ff15dcb3de239e970cce63bd7">ncg</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
+core_dispatch::coordinate_type<br class="typebreak">
+&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt; G &gt;::<a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">type</a>, <a class="el" href="structggl_1_1coordinate__type.html#a2452b2ff15dcb3de239e970cce63bd7">ncg</a> &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::coordinate_type&lt; G &gt;</h3>
+
+Meta-function which defines coordinate type (int, float, double, etc) of any geometry.
+<p>Definition at line <a class="el" href="coordinate__type_8hpp_source.html#l00060">60</a> of file <a class="el" href="coordinate__type_8hpp_source.html">coordinate_type.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="a2452b2ff15dcb3de239e970cce63bd7"></a><!-- doxytag: member="ggl::coordinate_type::ncg" ref="a2452b2ff15dcb3de239e970cce63bd7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::remove_const&lt;G&gt;::<a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">type</a> <a class="el" href="structggl_1_1coordinate__type.html">ggl::coordinate_type</a>&lt; G &gt;::<a class="el" href="structggl_1_1coordinate__type.html#a2452b2ff15dcb3de239e970cce63bd7">ncg</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="coordinate__type_8hpp_source.html#l00062">62</a> of file <a class="el" href="coordinate__type_8hpp_source.html">coordinate_type.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="b723a443a97f7c4ed7c47ac96d7e29ee"></a><!-- doxytag: member="ggl::coordinate_type::type" ref="b723a443a97f7c4ed7c47ac96d7e29ee" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef core_dispatch::coordinate_type&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt;G&gt;::<a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">type</a>, <a class="el" href="structggl_1_1coordinate__type.html#a2452b2ff15dcb3de239e970cce63bd7">ncg</a> &gt;::<a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">type</a> <a class="el" href="structggl_1_1coordinate__type.html">ggl::coordinate_type</a>&lt; G &gt;::<a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="coordinate__type_8hpp_source.html#l00067">67</a> of file <a class="el" href="coordinate__type_8hpp_source.html">coordinate_type.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1cartesian.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1cartesian.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1cs.html">cs</a>::<a class="el" href="structggl_1_1cs_1_1cartesian.html">cartesian</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::cs::cartesian Struct Reference<br>
+<small>
+[<a class="el" href="group__cs.html">coordinate systems</a>]</small>
+</h1><!-- doxytag: class="ggl::cs::cartesian" -->Cartesian coordinate system.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Cartesian coordinate system.
+<p>
+Defines the Cartesian or rectangular coordinate system where points are defined in 2 or 3 (or more) dimensions and usually (but not always) known as x,y,z <dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Cartesian_coordinate_system </dd></dl>
+
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00053">53</a> of file <a class="el" href="cs_8hpp_source.html">cs.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1geographic-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1geographic-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::cs::geographic&lt; DegreeOrRadian &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1cs_1_1geographic.html">ggl::cs::geographic&lt; DegreeOrRadian &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1cs_1_1geographic.html#239d9464e962c80a3b52cd2934ce1779">units</a> typedef</td><td><a class="el" href="structggl_1_1cs_1_1geographic.html">ggl::cs::geographic&lt; DegreeOrRadian &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1geographic.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1geographic.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1cs.html">cs</a>::<a class="el" href="structggl_1_1cs_1_1geographic.html">geographic</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::cs::geographic&lt; DegreeOrRadian &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__cs.html">coordinate systems</a>]</small>
+</h1><!-- doxytag: class="ggl::cs::geographic" -->Geographic coordinate system, in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef DegreeOrRadian&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1geographic.html#239d9464e962c80a3b52cd2934ce1779">units</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename DegreeOrRadian&gt;<br>
+ struct ggl::cs::geographic&lt; DegreeOrRadian &gt;</h3>
+
+Geographic coordinate system, in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>.
+<p>
+Defines the <a class="el" href="structggl_1_1cs_1_1geographic.html" title="Geographic coordinate system, in degree or in radian.">geographic</a> coordinate system where points are defined in two angles and usually known as lat,long or lo,la or phi,lambda <dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Geographic_coordinate_system</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>might be moved to extensions/gis/geographic </dd></dl>
+
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00067">67</a> of file <a class="el" href="cs_8hpp_source.html">cs.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="239d9464e962c80a3b52cd2934ce1779"></a><!-- doxytag: member="ggl::cs::geographic::units" ref="239d9464e962c80a3b52cd2934ce1779" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename DegreeOrRadian &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef DegreeOrRadian <a class="el" href="structggl_1_1cs_1_1geographic.html">ggl::cs::geographic</a>&lt; DegreeOrRadian &gt;::<a class="el" href="structggl_1_1cs_1_1geographic.html#239d9464e962c80a3b52cd2934ce1779">units</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00069">69</a> of file <a class="el" href="cs_8hpp_source.html">cs.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1polar-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1polar-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::cs::polar&lt; DegreeOrRadian &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1cs_1_1polar.html">ggl::cs::polar&lt; DegreeOrRadian &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1cs_1_1polar.html#6df418ef5da7108d03efbe7c8c0006f2">units</a> typedef</td><td><a class="el" href="structggl_1_1cs_1_1polar.html">ggl::cs::polar&lt; DegreeOrRadian &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1polar.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1polar.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1cs.html">cs</a>::<a class="el" href="structggl_1_1cs_1_1polar.html">polar</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::cs::polar&lt; DegreeOrRadian &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__cs.html">coordinate systems</a>]</small>
+</h1><!-- doxytag: class="ggl::cs::polar" -->Polar coordinate system.
+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 DegreeOrRadian&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1polar.html#6df418ef5da7108d03efbe7c8c0006f2">units</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename DegreeOrRadian&gt;<br>
+ struct ggl::cs::polar&lt; DegreeOrRadian &gt;</h3>
+
+Polar coordinate system.
+<p>
+Defines the <a class="el" href="structggl_1_1cs_1_1polar.html" title="Polar coordinate system.">polar</a> coordinate system "in which each point on a plane is determined by an angle and a distance" <dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Polar_coordinates </dd></dl>
+
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00102">102</a> of file <a class="el" href="cs_8hpp_source.html">cs.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="6df418ef5da7108d03efbe7c8c0006f2"></a><!-- doxytag: member="ggl::cs::polar::units" ref="6df418ef5da7108d03efbe7c8c0006f2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename DegreeOrRadian &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef DegreeOrRadian <a class="el" href="structggl_1_1cs_1_1polar.html">ggl::cs::polar</a>&lt; DegreeOrRadian &gt;::<a class="el" href="structggl_1_1cs_1_1polar.html#6df418ef5da7108d03efbe7c8c0006f2">units</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00104">104</a> of file <a class="el" href="cs_8hpp_source.html">cs.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1spherical-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1spherical-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::cs::spherical&lt; DegreeOrRadian &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1cs_1_1spherical.html">ggl::cs::spherical&lt; DegreeOrRadian &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1cs_1_1spherical.html#5c75c8921bae27e9e214d4b57a3cdd75">units</a> typedef</td><td><a class="el" href="structggl_1_1cs_1_1spherical.html">ggl::cs::spherical&lt; DegreeOrRadian &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1spherical.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs_1_1spherical.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1cs.html">cs</a>::<a class="el" href="structggl_1_1cs_1_1spherical.html">spherical</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::cs::spherical&lt; DegreeOrRadian &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__cs.html">coordinate systems</a>]</small>
+</h1><!-- doxytag: class="ggl::cs::spherical" -->Spherical coordinate system, in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef DegreeOrRadian&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs_1_1spherical.html#5c75c8921bae27e9e214d4b57a3cdd75">units</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename DegreeOrRadian&gt;<br>
+ struct ggl::cs::spherical&lt; DegreeOrRadian &gt;</h3>
+
+Spherical coordinate system, in <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> or in <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>.
+<p>
+Defines the <a class="el" href="structggl_1_1cs_1_1spherical.html" title="Spherical coordinate system, in degree or in radian.">spherical</a> coordinate system where points are defined in two angles and an optional radius usually known as r, theta, phi <dl class="user" compact><dt><b>Coordinates:</b></dt><dd><ul>
+<li>coordinate 0: 0 &lt;= phi &lt; 2pi is the angle between the positive x-axis and the line from the origin to the P projected onto the xy-plane.</li><li>coordinate 1: 0 &lt;= theta &lt;= pi is the angle between the positive z-axis and the line formed between the origin and P.</li><li>coordinate 2 (if specified): r &gt;= 0 is the distance from the origin to a given <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> P.</li></ul>
+</dd></dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Spherical_coordinates </dd></dl>
+
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00090">90</a> of file <a class="el" href="cs_8hpp_source.html">cs.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="5c75c8921bae27e9e214d4b57a3cdd75"></a><!-- doxytag: member="ggl::cs::spherical::units" ref="5c75c8921bae27e9e214d4b57a3cdd75" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename DegreeOrRadian &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef DegreeOrRadian <a class="el" href="structggl_1_1cs_1_1spherical.html">ggl::cs::spherical</a>&lt; DegreeOrRadian &gt;::<a class="el" href="structggl_1_1cs_1_1spherical.html#5c75c8921bae27e9e214d4b57a3cdd75">units</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00092">92</a> of file <a class="el" href="cs_8hpp_source.html">cs.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs__tag-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs__tag-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::cs_tag&lt; G &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1cs__tag.html">ggl::cs_tag&lt; G &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">type</a> typedef</td><td><a class="el" href="structggl_1_1cs__tag.html">ggl::cs_tag&lt; G &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cs__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1cs__tag.html">cs_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::cs_tag&lt; G &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::cs_tag" -->Meta-function returning coordinate system <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> (<a class="el" href="namespaceggl_1_1cs.html">cs</a> family) 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 <a class="el" href="structggl_1_1traits_1_1cs__tag.html">traits::cs_tag</a><br class="typebreak">
+&lt; typename <br class="typebreak">
+<a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system</a>&lt; G &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">type</a> &gt;::<a class="el" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::cs_tag&lt; G &gt;</h3>
+
+Meta-function returning coordinate system <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> (<a class="el" href="namespaceggl_1_1cs.html">cs</a> family) of any geometry.
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00151">151</a> of file <a class="el" href="cs_8hpp_source.html">cs.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="9ec856ee2b9c2e704cae3d50346a457a"></a><!-- doxytag: member="ggl::cs_tag::type" ref="9ec856ee2b9c2e704cae3d50346a457a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1traits_1_1cs__tag.html">traits::cs_tag</a>&lt; typename <a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system</a>&lt;G&gt;::<a class="el" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">type</a> &gt;::<a class="el" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">type</a> <a class="el" href="structggl_1_1cs__tag.html">ggl::cs_tag</a>&lt; G &gt;::<a class="el" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00156">156</a> of file <a class="el" href="cs_8hpp_source.html">cs.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,89 @@
+<!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">
+&nbsp;&nbsp;
+</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::de9im Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1de9im.html">ggl::de9im</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">as_char</a>(int v)</td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#ab65195a5bd2896f17d0e252b2bd40c7">bb</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#af418e3af0e74fca9df112e8c674fc30">be</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#f77b1dd2036f4f685e34bc73988eae7f">bi</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#a15591d020883026f28f98f4071b80e5">contains</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#8cbd11f530d85ec94d9f1a5eeb6f6da4">crosses</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#0e63fce9a0f98c1538e4fe41c5088680">de9im</a>()</td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#47ea8035c439f3deaa82c2d909fc81a9">de9im</a>(int ii0, int ib0, int ie0, int bi0, int bb0, int be0, int ei0, int eb0, int ee0)</td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#80e3fee3098017c06891ec7690d9154b">disjoint</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#b2d84c96bb9d0c9fa3c4e5e0ba9d4a65">eb</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#a3e8fb274304ac4413e7a19375156ad1">ee</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#e594f1211d0b2915f78a1c7ab403aa10">ei</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#01f365a488218068020af89113cd3745">equals</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#4767776fd61e061393e0be863e9bb4df">ib</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ie</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#2c901db53a08be784689180a944a5762">intersects</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#b4bdbb38a70ad671ddd562dd0a41ebb5">overlaps</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#71d48a6fc35f6fd7544fb68396ea3457">touches</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#2e3559f5402284e4c7ec8382f5c6866d">within</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,572 @@
+<!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">
+&nbsp;&nbsp;
+</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_1de9im.html">de9im</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::de9im Struct Reference<br>
+<small>
+[<a class="el" href="group__overlay.html">overlay operations (intersection, union, clipping)</a>]</small>
+</h1><!-- doxytag: class="ggl::de9im" -->Dimensionally Extended 9 Intersection Matrix.
+More...
+<p>
+Inherited by <a class="el" href="structggl_1_1de9im__segment.html">ggl::de9im_segment</a>.
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#a15591d020883026f28f98f4071b80e5">contains</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#8cbd11f530d85ec94d9f1a5eeb6f6da4">crosses</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#47ea8035c439f3deaa82c2d909fc81a9">de9im</a> (int ii0, int ib0, int ie0, int bi0, int bb0, int be0, int ei0, int eb0, int ee0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#0e63fce9a0f98c1538e4fe41c5088680">de9im</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#80e3fee3098017c06891ec7690d9154b">disjoint</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#01f365a488218068020af89113cd3745">equals</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#2c901db53a08be784689180a944a5762">intersects</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#b4bdbb38a70ad671ddd562dd0a41ebb5">overlaps</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#71d48a6fc35f6fd7544fb68396ea3457">touches</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#2e3559f5402284e4c7ec8382f5c6866d">within</a> () const </td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">as_char</a> (int v)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#ab65195a5bd2896f17d0e252b2bd40c7">bb</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#af418e3af0e74fca9df112e8c674fc30">be</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#f77b1dd2036f4f685e34bc73988eae7f">bi</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#b2d84c96bb9d0c9fa3c4e5e0ba9d4a65">eb</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#a3e8fb274304ac4413e7a19375156ad1">ee</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#e594f1211d0b2915f78a1c7ab403aa10">ei</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#4767776fd61e061393e0be863e9bb4df">ib</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ie</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Dimensionally Extended 9 Intersection Matrix.
+<p>
+<dl class="see" compact><dt><b>See also:</b></dt><dd>http://gis.hsr.ch/wiki/images/3/3d/9dem_springer.pdf </dd></dl>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00025">25</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="0e63fce9a0f98c1538e4fe41c5088680"></a><!-- doxytag: member="ggl::de9im::de9im" ref="0e63fce9a0f98c1538e4fe41c5088680" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ggl::de9im::de9im </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00031">31</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="47ea8035c439f3deaa82c2d909fc81a9"></a><!-- doxytag: member="ggl::de9im::de9im" ref="47ea8035c439f3deaa82c2d909fc81a9" args="(int ii0, int ib0, int ie0, int bi0, int bb0, int be0, int ei0, int eb0, int ee0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ggl::de9im::de9im </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ii0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ib0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ie0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>bi0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>bb0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>be0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ei0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>eb0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ee0</em></td><td>&nbsp;</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="intersection__result_8hpp_source.html#l00038">38</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="01f365a488218068020af89113cd3745"></a><!-- doxytag: member="ggl::de9im::equals" ref="01f365a488218068020af89113cd3745" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::de9im::equals </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00046">46</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="80e3fee3098017c06891ec7690d9154b"></a><!-- doxytag: member="ggl::de9im::disjoint" ref="80e3fee3098017c06891ec7690d9154b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::de9im::disjoint </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00051">51</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2c901db53a08be784689180a944a5762"></a><!-- doxytag: member="ggl::de9im::intersects" ref="2c901db53a08be784689180a944a5762" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::de9im::intersects </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00056">56</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="71d48a6fc35f6fd7544fb68396ea3457"></a><!-- doxytag: member="ggl::de9im::touches" ref="71d48a6fc35f6fd7544fb68396ea3457" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::de9im::touches </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00061">61</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="8cbd11f530d85ec94d9f1a5eeb6f6da4"></a><!-- doxytag: member="ggl::de9im::crosses" ref="8cbd11f530d85ec94d9f1a5eeb6f6da4" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::de9im::crosses </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00066">66</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="b4bdbb38a70ad671ddd562dd0a41ebb5"></a><!-- doxytag: member="ggl::de9im::overlaps" ref="b4bdbb38a70ad671ddd562dd0a41ebb5" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::de9im::overlaps </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00071">71</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2e3559f5402284e4c7ec8382f5c6866d"></a><!-- doxytag: member="ggl::de9im::within" ref="2e3559f5402284e4c7ec8382f5c6866d" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::de9im::within </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00076">76</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a15591d020883026f28f98f4071b80e5"></a><!-- doxytag: member="ggl::de9im::contains" ref="a15591d020883026f28f98f4071b80e5" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::de9im::contains </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00081">81</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="4c3906863083abf88d79d67d9346026b"></a><!-- doxytag: member="ggl::de9im::as_char" ref="4c3906863083abf88d79d67d9346026b" args="(int v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static char ggl::de9im::as_char </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00087">87</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="797d776515bb2c1b87c5fd71e11d2ce1"></a><!-- doxytag: member="ggl::de9im::ii" ref="797d776515bb2c1b87c5fd71e11d2ce1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ggl::de9im::ii</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00027">27</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="4767776fd61e061393e0be863e9bb4df"></a><!-- doxytag: member="ggl::de9im::ib" ref="4767776fd61e061393e0be863e9bb4df" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1de9im.html#4767776fd61e061393e0be863e9bb4df">ggl::de9im::ib</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00027">27</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="b4e7daba1de46c4b45fb7ba00901b8d3"></a><!-- doxytag: member="ggl::de9im::ie" ref="b4e7daba1de46c4b45fb7ba00901b8d3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ggl::de9im::ie</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00027">27</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="f77b1dd2036f4f685e34bc73988eae7f"></a><!-- doxytag: member="ggl::de9im::bi" ref="f77b1dd2036f4f685e34bc73988eae7f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1de9im.html#f77b1dd2036f4f685e34bc73988eae7f">ggl::de9im::bi</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00027">27</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ab65195a5bd2896f17d0e252b2bd40c7"></a><!-- doxytag: member="ggl::de9im::bb" ref="ab65195a5bd2896f17d0e252b2bd40c7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1de9im.html#ab65195a5bd2896f17d0e252b2bd40c7">ggl::de9im::bb</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00027">27</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="af418e3af0e74fca9df112e8c674fc30"></a><!-- doxytag: member="ggl::de9im::be" ref="af418e3af0e74fca9df112e8c674fc30" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1de9im.html#af418e3af0e74fca9df112e8c674fc30">ggl::de9im::be</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00027">27</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e594f1211d0b2915f78a1c7ab403aa10"></a><!-- doxytag: member="ggl::de9im::ei" ref="e594f1211d0b2915f78a1c7ab403aa10" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1de9im.html#e594f1211d0b2915f78a1c7ab403aa10">ggl::de9im::ei</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00027">27</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="b2d84c96bb9d0c9fa3c4e5e0ba9d4a65"></a><!-- doxytag: member="ggl::de9im::eb" ref="b2d84c96bb9d0c9fa3c4e5e0ba9d4a65" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1de9im.html#b2d84c96bb9d0c9fa3c4e5e0ba9d4a65">ggl::de9im::eb</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00027">27</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a3e8fb274304ac4413e7a19375156ad1"></a><!-- doxytag: member="ggl::de9im::ee" ref="a3e8fb274304ac4413e7a19375156ad1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1de9im.html#a3e8fb274304ac4413e7a19375156ad1">ggl::de9im::ee</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00027">27</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im__segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im__segment-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,97 @@
+<!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">
+&nbsp;&nbsp;
+</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::de9im_segment Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1de9im__segment.html">ggl::de9im_segment</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">as_char</a>(int v)</td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#ab65195a5bd2896f17d0e252b2bd40c7">bb</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#af418e3af0e74fca9df112e8c674fc30">be</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#f77b1dd2036f4f685e34bc73988eae7f">bi</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im__segment.html#74f8612ae82c3a2f5ca3d4a45737756a">collinear</a></td><td><a class="el" href="structggl_1_1de9im__segment.html">ggl::de9im_segment</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#a15591d020883026f28f98f4071b80e5">contains</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#8cbd11f530d85ec94d9f1a5eeb6f6da4">crosses</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#0e63fce9a0f98c1538e4fe41c5088680">de9im</a>()</td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#47ea8035c439f3deaa82c2d909fc81a9">de9im</a>(int ii0, int ib0, int ie0, int bi0, int bb0, int be0, int ei0, int eb0, int ee0)</td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im__segment.html#a7c88902c0ffe78b4ec4778c9ab21338">de9im_segment</a>()</td><td><a class="el" href="structggl_1_1de9im__segment.html">ggl::de9im_segment</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im__segment.html#0fe3f361fef06047e7befa1efea254da">de9im_segment</a>(double a, double b, int ii0, int ib0, int ie0, int bi0, int bb0, int be0, int ei0, int eb0, int ee0, bool c=false, bool o=false, bool p=false, bool d=false)</td><td><a class="el" href="structggl_1_1de9im__segment.html">ggl::de9im_segment</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im__segment.html#b583e13a80450bfde17e1a35615ac236">degenerate</a></td><td><a class="el" href="structggl_1_1de9im__segment.html">ggl::de9im_segment</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#80e3fee3098017c06891ec7690d9154b">disjoint</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#b2d84c96bb9d0c9fa3c4e5e0ba9d4a65">eb</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#a3e8fb274304ac4413e7a19375156ad1">ee</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#e594f1211d0b2915f78a1c7ab403aa10">ei</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#01f365a488218068020af89113cd3745">equals</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#4767776fd61e061393e0be863e9bb4df">ib</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ie</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ii</a></td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#2c901db53a08be784689180a944a5762">intersects</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im__segment.html#41e71c0be72985cbf9558b172dddaf6f">opposite</a></td><td><a class="el" href="structggl_1_1de9im__segment.html">ggl::de9im_segment</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#b4bdbb38a70ad671ddd562dd0a41ebb5">overlaps</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im__segment.html#22d637778bc6b7bca56ad475134ef243">parallel</a></td><td><a class="el" href="structggl_1_1de9im__segment.html">ggl::de9im_segment</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im__segment.html#c858acc9b9c763af75765e9dc0763b9c">ra</a></td><td><a class="el" href="structggl_1_1de9im__segment.html">ggl::de9im_segment</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im__segment.html#fb3fbaa64bb5d0f2d467a7878ff5fc56">rb</a></td><td><a class="el" href="structggl_1_1de9im__segment.html">ggl::de9im_segment</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#71d48a6fc35f6fd7544fb68396ea3457">touches</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1de9im.html#2e3559f5402284e4c7ec8382f5c6866d">within</a>() const </td><td><a class="el" href="structggl_1_1de9im.html">ggl::de9im</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im__segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1de9im__segment.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,332 @@
+<!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">
+&nbsp;&nbsp;
+</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_1de9im__segment.html">de9im_segment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::de9im_segment Struct Reference</h1><!-- doxytag: class="ggl::de9im_segment" --><!-- doxytag: inherits="ggl::de9im" -->Inherits <a class="el" href="structggl_1_1de9im.html">ggl::de9im</a>.
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im__segment.html#0fe3f361fef06047e7befa1efea254da">de9im_segment</a> (double a, double b, int ii0, int ib0, int ie0, int bi0, int bb0, int be0, int ei0, int eb0, int ee0, bool c=false, bool o=false, bool p=false, bool d=false)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im__segment.html#a7c88902c0ffe78b4ec4778c9ab21338">de9im_segment</a> ()</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im__segment.html#74f8612ae82c3a2f5ca3d4a45737756a">collinear</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im__segment.html#b583e13a80450bfde17e1a35615ac236">degenerate</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im__segment.html#41e71c0be72985cbf9558b172dddaf6f">opposite</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im__segment.html#22d637778bc6b7bca56ad475134ef243">parallel</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im__segment.html#c858acc9b9c763af75765e9dc0763b9c">ra</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1de9im__segment.html#fb3fbaa64bb5d0f2d467a7878ff5fc56">rb</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00111">111</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="a7c88902c0ffe78b4ec4778c9ab21338"></a><!-- doxytag: member="ggl::de9im_segment::de9im_segment" ref="a7c88902c0ffe78b4ec4778c9ab21338" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ggl::de9im_segment::de9im_segment </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00120">120</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="0fe3f361fef06047e7befa1efea254da"></a><!-- doxytag: member="ggl::de9im_segment::de9im_segment" ref="0fe3f361fef06047e7befa1efea254da" args="(double a, double b, int ii0, int ib0, int ie0, int bi0, int bb0, int be0, int ei0, int eb0, int ee0, bool c=false, bool o=false, bool p=false, bool d=false)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ggl::de9im_segment::de9im_segment </td>
+ <td>(</td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ii0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ib0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ie0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>bi0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>bb0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>be0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ei0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>eb0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ee0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>c</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>o</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>p</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>d</em> = <code>false</code></td><td>&nbsp;</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="intersection__result_8hpp_source.html#l00128">128</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="74f8612ae82c3a2f5ca3d4a45737756a"></a><!-- doxytag: member="ggl::de9im_segment::collinear" ref="74f8612ae82c3a2f5ca3d4a45737756a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1de9im__segment.html#74f8612ae82c3a2f5ca3d4a45737756a">ggl::de9im_segment::collinear</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00113">113</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="41e71c0be72985cbf9558b172dddaf6f"></a><!-- doxytag: member="ggl::de9im_segment::opposite" ref="41e71c0be72985cbf9558b172dddaf6f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1de9im__segment.html#41e71c0be72985cbf9558b172dddaf6f">ggl::de9im_segment::opposite</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00114">114</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="22d637778bc6b7bca56ad475134ef243"></a><!-- doxytag: member="ggl::de9im_segment::parallel" ref="22d637778bc6b7bca56ad475134ef243" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1de9im__segment.html#22d637778bc6b7bca56ad475134ef243">ggl::de9im_segment::parallel</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00115">115</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="b583e13a80450bfde17e1a35615ac236"></a><!-- doxytag: member="ggl::de9im_segment::degenerate" ref="b583e13a80450bfde17e1a35615ac236" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1de9im__segment.html#b583e13a80450bfde17e1a35615ac236">ggl::de9im_segment::degenerate</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00116">116</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c858acc9b9c763af75765e9dc0763b9c"></a><!-- doxytag: member="ggl::de9im_segment::ra" ref="c858acc9b9c763af75765e9dc0763b9c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double <a class="el" href="structggl_1_1de9im__segment.html#c858acc9b9c763af75765e9dc0763b9c">ggl::de9im_segment::ra</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00118">118</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="fb3fbaa64bb5d0f2d467a7878ff5fc56"></a><!-- doxytag: member="ggl::de9im_segment::rb" ref="fb3fbaa64bb5d0f2d467a7878ff5fc56" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double <a class="el" href="structggl_1_1de9im__segment.html#fb3fbaa64bb5d0f2d467a7878ff5fc56">ggl::de9im_segment::rb</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00118">118</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1dimension.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1dimension.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1dimension.html">dimension</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::dimension&lt; G &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::dimension" -->Meta-function which defines coordinate dimensions, i.e. the number of axes of any geometry.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::dimension&lt; G &gt;</h3>
+
+Meta-function which defines coordinate dimensions, i.e. the number of axes of any geometry.
+<p>Definition at line <a class="el" href="coordinate__dimension_8hpp_source.html#l00059">59</a> of file <a class="el" href="coordinate__dimension_8hpp_source.html">coordinate_dimension.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1distance__result-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1distance__result-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,73 @@
+<!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">
+&nbsp;&nbsp;
+</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::distance_result&lt; G1, G2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; G1, G2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1distance__result.html#eba52ff149917eef4e3c8138a8cb4830">P1</a> typedef</td><td><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; G1, G2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1distance__result.html#09dd903d489dbfa0ec23306ec7b88d02">P2</a> typedef</td><td><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; G1, G2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1distance__result.html#a8148b389a0cec2b42c5de450d52a3b3">S</a> typedef</td><td><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; G1, G2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a> typedef</td><td><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result&lt; G1, G2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1distance__result.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1distance__result.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,184 @@
+<!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">
+&nbsp;&nbsp;
+</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_1distance__result.html">distance_result</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::distance_result&lt; G1, G2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance calculation</a>]</small>
+</h1><!-- doxytag: class="ggl::distance_result" -->Shortcut to define return type of distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1point__type.html">point_type</a>&lt; G1 &gt;::<a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1distance__result.html#eba52ff149917eef4e3c8138a8cb4830">P1</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1point__type.html">point_type</a>&lt; G2 &gt;::<a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1distance__result.html#09dd903d489dbfa0ec23306ec7b88d02">P2</a></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">
+&lt; typename <a class="el" href="structggl_1_1cs__tag.html">cs_tag</a>&lt; <a class="el" href="structggl_1_1distance__result.html#eba52ff149917eef4e3c8138a8cb4830">P1</a> &gt;::<a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a>, <br class="typebreak">
+typename <a class="el" href="structggl_1_1cs__tag.html">cs_tag</a>&lt; <a class="el" href="structggl_1_1distance__result.html#09dd903d489dbfa0ec23306ec7b88d02">P2</a> &gt;::<a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a>, <br class="typebreak">
+<a class="el" href="structggl_1_1distance__result.html#eba52ff149917eef4e3c8138a8cb4830">P1</a>, <a class="el" href="structggl_1_1distance__result.html#09dd903d489dbfa0ec23306ec7b88d02">P2</a> &gt;::<a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1distance__result.html#a8148b389a0cec2b42c5de450d52a3b3">S</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef S::return_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G1, typename G2 = G1&gt;<br>
+ struct ggl::distance_result&lt; G1, G2 &gt;</h3>
+
+Shortcut to define return type of distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</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>G1</em>&nbsp;</td><td>first geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>G2</em>&nbsp;</td><td>second geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00207">207</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="eba52ff149917eef4e3c8138a8cb4830"></a><!-- doxytag: member="ggl::distance_result::P1" ref="eba52ff149917eef4e3c8138a8cb4830" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G1, typename G2 = G1&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1point__type.html">point_type</a>&lt;G1&gt;::<a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a> <a class="el" href="structggl_1_1distance__result.html">ggl::distance_result</a>&lt; G1, G2 &gt;::<a class="el" href="structggl_1_1distance__result.html#eba52ff149917eef4e3c8138a8cb4830">P1</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00209">209</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="09dd903d489dbfa0ec23306ec7b88d02"></a><!-- doxytag: member="ggl::distance_result::P2" ref="09dd903d489dbfa0ec23306ec7b88d02" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G1, typename G2 = G1&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1point__type.html">point_type</a>&lt;G2&gt;::<a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a> <a class="el" href="structggl_1_1distance__result.html">ggl::distance_result</a>&lt; G1, G2 &gt;::<a class="el" href="structggl_1_1distance__result.html#09dd903d489dbfa0ec23306ec7b88d02">P2</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00210">210</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a8148b389a0cec2b42c5de450d52a3b3"></a><!-- doxytag: member="ggl::distance_result::S" ref="a8148b389a0cec2b42c5de450d52a3b3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G1, typename G2 = G1&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy__distance.html">strategy_distance</a>&lt; typename <a class="el" href="structggl_1_1cs__tag.html">cs_tag</a>&lt;<a class="el" href="structggl_1_1distance__result.html#eba52ff149917eef4e3c8138a8cb4830">P1</a>&gt;::<a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a>, typename <a class="el" href="structggl_1_1cs__tag.html">cs_tag</a>&lt;<a class="el" href="structggl_1_1distance__result.html#09dd903d489dbfa0ec23306ec7b88d02">P2</a>&gt;::<a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a>, <a class="el" href="structggl_1_1distance__result.html#eba52ff149917eef4e3c8138a8cb4830">P1</a>, <a class="el" href="structggl_1_1distance__result.html#09dd903d489dbfa0ec23306ec7b88d02">P2</a>&gt;::<a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a> <a class="el" href="structggl_1_1distance__result.html">ggl::dis
tance_result</a>&lt; G1, G2 &gt;::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">S</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00213">213</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="330a69bdc818d9d12defa854b80f31c3"></a><!-- doxytag: member="ggl::distance_result::type" ref="330a69bdc818d9d12defa854b80f31c3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G1, typename G2 = G1&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef S::return_type <a class="el" href="structggl_1_1distance__result.html">ggl::distance_result</a>&lt; G1, G2 &gt;::<a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00214">214</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ever__circling__iterator-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ever__circling__iterator-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,73 @@
+<!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">
+&nbsp;&nbsp;
+</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::ever_circling_iterator&lt; Iterator &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1ever__circling__iterator.html">ggl::ever_circling_iterator&lt; Iterator &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1ever__circling__iterator.html#c09f73e325921cc50ebcd96bed0f8096">boost::iterator_core_access</a> class</td><td><a class="el" href="structggl_1_1ever__circling__iterator.html">ggl::ever_circling_iterator&lt; Iterator &gt;</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1ever__circling__iterator.html#960589b4dc59be2341a536efa1e01294">ever_circling_iterator</a>(Iterator begin, Iterator end)</td><td><a class="el" href="structggl_1_1ever__circling__iterator.html">ggl::ever_circling_iterator&lt; Iterator &gt;</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1ever__circling__iterator.html#a3b3465a611c79f0b33bda06e92ba561">ever_circling_iterator</a>(Iterator begin, Iterator end, Iterator start)</td><td><a class="el" href="structggl_1_1ever__circling__iterator.html">ggl::ever_circling_iterator&lt; Iterator &gt;</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1ever__circling__iterator.html#3bf51f4dfcb1dc644c707fc956551ba4">moveto</a>(Iterator it)</td><td><a class="el" href="structggl_1_1ever__circling__iterator.html">ggl::ever_circling_iterator&lt; Iterator &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ever__circling__iterator.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ever__circling__iterator.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,220 @@
+<!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">
+&nbsp;&nbsp;
+</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_1ever__circling__iterator.html">ever_circling_iterator</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::ever_circling_iterator&lt; Iterator &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::ever_circling_iterator" -->Iterator which ever circles through a range.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ever__circling__iterator.html#a3b3465a611c79f0b33bda06e92ba561">ever_circling_iterator</a> (Iterator begin, Iterator end, Iterator start)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ever__circling__iterator.html#960589b4dc59be2341a536efa1e01294">ever_circling_iterator</a> (Iterator begin, Iterator end)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ever__circling__iterator.html#3bf51f4dfcb1dc644c707fc956551ba4">moveto</a> (Iterator it)</td></tr>
+
+<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ever__circling__iterator.html#c09f73e325921cc50ebcd96bed0f8096">boost::iterator_core_access</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Iterator&gt;<br>
+ struct ggl::ever_circling_iterator&lt; Iterator &gt;</h3>
+
+Iterator which ever circles through a range.
+<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>Iterator</em>&nbsp;</td><td>iterator on which this class is based on</td></tr>
+ </table>
+</dl>
+If the iterator arrives at range.end() it restarts from the beginning. So it has to be stopped in another way. Don't call for(....; it++) because it will turn in an endless loop <dl class="note" compact><dt><b>Note:</b></dt><dd>Name inspired on David Bowie's "Chant Of The Ever Circling Skeletal Family" </dd></dl>
+
+<p>Definition at line <a class="el" href="ever__circling__iterator_8hpp_source.html#l00032">32</a> of file <a class="el" href="ever__circling__iterator_8hpp_source.html">ever_circling_iterator.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="960589b4dc59be2341a536efa1e01294"></a><!-- doxytag: member="ggl::ever_circling_iterator::ever_circling_iterator" ref="960589b4dc59be2341a536efa1e01294" args="(Iterator begin, Iterator end)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Iterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1ever__circling__iterator.html">ggl::ever_circling_iterator</a>&lt; Iterator &gt;::<a class="el" href="structggl_1_1ever__circling__iterator.html">ever_circling_iterator</a> </td>
+ <td>(</td>
+ <td class="paramtype">Iterator&nbsp;</td>
+ <td class="paramname"> <em>begin</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Iterator&nbsp;</td>
+ <td class="paramname"> <em>end</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="ever__circling__iterator_8hpp_source.html#l00041">41</a> of file <a class="el" href="ever__circling__iterator_8hpp_source.html">ever_circling_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a3b3465a611c79f0b33bda06e92ba561"></a><!-- doxytag: member="ggl::ever_circling_iterator::ever_circling_iterator" ref="a3b3465a611c79f0b33bda06e92ba561" args="(Iterator begin, Iterator end, Iterator start)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Iterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1ever__circling__iterator.html">ggl::ever_circling_iterator</a>&lt; Iterator &gt;::<a class="el" href="structggl_1_1ever__circling__iterator.html">ever_circling_iterator</a> </td>
+ <td>(</td>
+ <td class="paramtype">Iterator&nbsp;</td>
+ <td class="paramname"> <em>begin</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Iterator&nbsp;</td>
+ <td class="paramname"> <em>end</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Iterator&nbsp;</td>
+ <td class="paramname"> <em>start</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="ever__circling__iterator_8hpp_source.html#l00048">48</a> of file <a class="el" href="ever__circling__iterator_8hpp_source.html">ever_circling_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="3bf51f4dfcb1dc644c707fc956551ba4"></a><!-- doxytag: member="ggl::ever_circling_iterator::moveto" ref="3bf51f4dfcb1dc644c707fc956551ba4" args="(Iterator it)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Iterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="structggl_1_1ever__circling__iterator.html">ggl::ever_circling_iterator</a>&lt; Iterator &gt;::moveto </td>
+ <td>(</td>
+ <td class="paramtype">Iterator&nbsp;</td>
+ <td class="paramname"> <em>it</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Navigate to a certain position, should be in [start .. end], it at end it will circle again.
+<p>Definition at line <a class="el" href="ever__circling__iterator_8hpp_source.html#l00057">57</a> of file <a class="el" href="ever__circling__iterator_8hpp_source.html">ever_circling_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="c09f73e325921cc50ebcd96bed0f8096"></a><!-- doxytag: member="ggl::ever_circling_iterator::boost::iterator_core_access" ref="c09f73e325921cc50ebcd96bed0f8096" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Iterator &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class boost::iterator_core_access<code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="ever__circling__iterator_8hpp_source.html#l00039">39</a> of file <a class="el" href="ever__circling__iterator_8hpp_source.html">ever_circling_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1exception.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1exception.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1exception.html">exception</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::exception Struct Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::exception" --><!-- doxytag: inherits="std::exception" -->Base <a class="el" href="structggl_1_1exception.html" title="Base exception class for GGL.">exception</a> class for GGL.
+More...
+<p>
+Inherits std::exception.
+<p>
+Inherited by <a class="el" href="classggl_1_1centroid__exception.html">ggl::centroid_exception</a>.
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Base <a class="el" href="structggl_1_1exception.html" title="Base exception class for GGL.">exception</a> class for GGL.
+<p>Definition at line <a class="el" href="exception_8hpp_source.html#l00020">20</a> of file <a class="el" href="exception_8hpp_source.html">exception.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geographic__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geographic__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1geographic__tag.html">geographic_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::geographic_tag Struct Reference</h1><!-- doxytag: class="ggl::geographic_tag" -->Tag indicating Geographic coordinate system family (geographic).
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Tag indicating Geographic coordinate system family (geographic).
+<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00029">29</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__collection__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__collection__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1geometry__collection__tag.html">geometry_collection_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::geometry_collection_tag Struct Reference</h1><!-- doxytag: class="ggl::geometry_collection_tag" -->OGC Geometry Collection identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+OGC Geometry Collection identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+<p>Definition at line <a class="el" href="multi_2core_2tags_8hpp_source.html#l00026">26</a> of file <a class="el" href="multi_2core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__id.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__id.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1geometry__id.html">geometry_id</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::geometry_id&lt; Geometry &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::geometry_id" -->Meta-function the id for a geometry type.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::geometry_id&lt; Geometry &gt;</h3>
+
+Meta-function the id for a geometry type.
+<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Used for e.g. reverse meta-function </dd></dl>
+
+<p>Definition at line <a class="el" href="core_2geometry__id_8hpp_source.html#l00073">73</a> of file <a class="el" href="core_2geometry__id_8hpp_source.html">geometry_id.hpp</a>.</p>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__not__recognized__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__not__recognized__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1geometry__not__recognized__tag.html">geometry_not_recognized_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::geometry_not_recognized_tag Struct Reference</h1><!-- doxytag: class="ggl::geometry_not_recognized_tag" -->"default" <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+"default" <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>
+<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00039">39</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1interior__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1interior__type-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::interior_type&lt; G &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1interior__type.html">ggl::interior_type&lt; G &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1interior__type.html#304a4e5fbdbc3a5504b7c0561d32e646">ncg</a> typedef</td><td><a class="el" href="structggl_1_1interior__type.html">ggl::interior_type&lt; G &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">type</a> typedef</td><td><a class="el" href="structggl_1_1interior__type.html">ggl::interior_type&lt; G &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1interior__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1interior__type.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,137 @@
+<!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">
+&nbsp;&nbsp;
+</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_1interior__type.html">interior_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::interior_type&lt; G &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::interior_type" -->Meta-function defining container type of inner rings of (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> geometriy.
+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&lt; G &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1interior__type.html#304a4e5fbdbc3a5504b7c0561d32e646">ncg</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
+core_dispatch::interior_type<br class="typebreak">
+&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt; G &gt;::<a class="el" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">type</a>, <a class="el" href="structggl_1_1interior__type.html#304a4e5fbdbc3a5504b7c0561d32e646">ncg</a> &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::interior_type&lt; G &gt;</h3>
+
+Meta-function defining container type of inner rings of (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> geometriy.
+<p>
+the interior rings should be organized as a container (std::vector, std::deque, boost::array) with boost range support. This meta function defines the type of that container.
+<p>Definition at line <a class="el" href="interior__rings_8hpp_source.html#l00107">107</a> of file <a class="el" href="interior__rings_8hpp_source.html">interior_rings.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="304a4e5fbdbc3a5504b7c0561d32e646"></a><!-- doxytag: member="ggl::interior_type::ncg" ref="304a4e5fbdbc3a5504b7c0561d32e646" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::remove_const&lt;G&gt;::<a class="el" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">type</a> <a class="el" href="structggl_1_1interior__type.html">ggl::interior_type</a>&lt; G &gt;::<a class="el" href="structggl_1_1interior__type.html#304a4e5fbdbc3a5504b7c0561d32e646">ncg</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="interior__rings_8hpp_source.html#l00109">109</a> of file <a class="el" href="interior__rings_8hpp_source.html">interior_rings.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="19d6b1e60f06a96228093f34f279f6ad"></a><!-- doxytag: member="ggl::interior_type::type" ref="19d6b1e60f06a96228093f34f279f6ad" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef core_dispatch::interior_type&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt;G&gt;::<a class="el" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">type</a>, <a class="el" href="structggl_1_1interior__type.html#304a4e5fbdbc3a5504b7c0561d32e646">ncg</a>&gt;::<a class="el" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">type</a> <a class="el" href="structggl_1_1interior__type.html">ggl::interior_type</a>&lt; G &gt;::<a class="el" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="interior__rings_8hpp_source.html#l00111">111</a> of file <a class="el" href="interior__rings_8hpp_source.html">interior_rings.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1is__linear.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1is__linear.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1is__linear.html">is_linear</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::is_linear&lt; Geometry &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::is_linear" -->Meta-function defining "true" for linear types (<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), "false" for non-linear typse.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::is_linear&lt; Geometry &gt;</h3>
+
+Meta-function defining "true" for linear types (<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), "false" for non-linear typse.
+<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Used for <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> dispatching and meta-function finetuning </dd></dl>
+
+<p>Definition at line <a class="el" href="is__linear_8hpp_source.html#l00052">52</a> of file <a class="el" href="is__linear_8hpp_source.html">is_linear.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1is__multi.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1is__multi.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1is__multi.html">is_multi</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::is_multi&lt; Geometry &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::is_multi" -->Meta-function defining "true" for multi geometries (<a class="el" href="structggl_1_1multi__point.html">multi_point</a>, etc).
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::is_multi&lt; Geometry &gt;</h3>
+
+Meta-function defining "true" for multi geometries (<a class="el" href="structggl_1_1multi__point.html">multi_point</a>, etc).
+<p>Definition at line <a class="el" href="core_2is__multi_8hpp_source.html#l00043">43</a> of file <a class="el" href="core_2is__multi_8hpp_source.html">is_multi.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1is__radian.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1is__radian.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1is__radian.html">is_radian</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::is_radian&lt; CoordinateSystem &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::is_radian" -->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...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename CoordinateSystem&gt;<br>
+ struct ggl::is_radian&lt; CoordinateSystem &gt;</h3>
+
+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>.
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00165">165</a> of file <a class="el" href="cs_8hpp_source.html">cs.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1less-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1less-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::less&lt; P &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1less.html">ggl::less&lt; P &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1less.html#d92a2c426998512de2eb68328c0292e5">operator()</a>(P const &amp;left, P const &amp;right) const </td><td><a class="el" href="structggl_1_1less.html">ggl::less&lt; P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1less.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1less.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1less.html">less</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::less&lt; P &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::less" -->Less predicate for usage in e.g. std::map.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1less.html#d92a2c426998512de2eb68328c0292e5">operator()</a> (P const &amp;left, P const &amp;right) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::less&lt; P &gt;</h3>
+
+Less predicate for usage in e.g. std::map.
+<p>Definition at line <a class="el" href="less_8hpp_source.html#l00053">53</a> of file <a class="el" href="less_8hpp_source.html">less.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="d92a2c426998512de2eb68328c0292e5"></a><!-- doxytag: member="ggl::less::operator()" ref="d92a2c426998512de2eb68328c0292e5" args="(P const &amp;left, P const &amp;right) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1less.html">ggl::less</a>&lt; P &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">P const &amp;&nbsp;</td>
+ <td class="paramname"> <em>left</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P const &amp;&nbsp;</td>
+ <td class="paramname"> <em>right</em></td><td>&nbsp;</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="less_8hpp_source.html#l00055">55</a> of file <a class="el" href="less_8hpp_source.html">less.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1linestring__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1linestring__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1linestring__tag.html">linestring_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::linestring_tag Struct Reference</h1><!-- doxytag: class="ggl::linestring_tag" -->OGC Linestring identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+OGC Linestring identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00045">45</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::multi_linestring&lt; L, V, A &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1multi__linestring.html">ggl::multi_linestring&lt; L, V, A &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1multi__linestring.html#ad0eb4fd23482608a67e61f460615d17">BOOST_CONCEPT_ASSERT</a>((concept::Linestring&lt; L &gt;))</td><td><a class="el" href="structggl_1_1multi__linestring.html">ggl::multi_linestring&lt; L, V, A &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,107 @@
+<!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">
+&nbsp;&nbsp;
+</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_1multi__linestring.html">multi_linestring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::multi_linestring&lt; L, V, A &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::multi_linestring" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__linestring.html#ad0eb4fd23482608a67e61f460615d17">BOOST_CONCEPT_ASSERT</a> ((<a class="el" href="structggl_1_1concept_1_1_linestring.html">concept::Linestring</a>&lt; L &gt;))</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename L, template&lt; typename, typename &gt; class V = std::vector, template&lt; typename &gt; class A = std::allocator&gt;<br>
+ struct ggl::multi_linestring&lt; L, V, A &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="multi__linestring_8hpp_source.html#l00029">29</a> of file <a class="el" href="multi__linestring_8hpp_source.html">multi_linestring.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="ad0eb4fd23482608a67e61f460615d17"></a><!-- doxytag: member="ggl::multi_linestring::BOOST_CONCEPT_ASSERT" ref="ad0eb4fd23482608a67e61f460615d17" args="((concept::Linestring&lt; L &gt;))" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename L, template&lt; typename, typename &gt; class V = std::vector, template&lt; typename &gt; class A = std::allocator&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1multi__linestring.html">ggl::multi_linestring</a>&lt; L, V, A &gt;::BOOST_CONCEPT_ASSERT </td>
+ <td>(</td>
+ <td class="paramtype">(<a class="el" href="structggl_1_1concept_1_1_linestring.html">concept::Linestring</a>&lt; L &gt;)&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1multi__linestring__tag.html">multi_linestring_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::multi_linestring_tag Struct Reference</h1><!-- doxytag: class="ggl::multi_linestring_tag" -->OGC Multi <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> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+OGC Multi <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> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+<p>Definition at line <a class="el" href="multi_2core_2tags_8hpp_source.html#l00020">20</a> of file <a class="el" href="multi_2core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::multi_point&lt; P, V, A &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1multi__point.html">ggl::multi_point&lt; P, V, A &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">BOOST_CONCEPT_ASSERT</a>((concept::Point&lt; P &gt;))</td><td><a class="el" href="structggl_1_1multi__point.html">ggl::multi_point&lt; P, V, A &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,107 @@
+<!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">
+&nbsp;&nbsp;
+</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_1multi__point.html">multi_point</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::multi_point&lt; P, V, A &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::multi_point" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">BOOST_CONCEPT_ASSERT</a> ((<a class="el" href="structggl_1_1concept_1_1_point.html">concept::Point</a>&lt; P &gt;))</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, template&lt; typename, typename &gt; class V = std::vector, template&lt; typename &gt; class A = std::allocator&gt;<br>
+ struct ggl::multi_point&lt; P, V, A &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="multi__point_8hpp_source.html#l00029">29</a> of file <a class="el" href="multi__point_8hpp_source.html">multi_point.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="e0dbad20fa00c02d4af5e8633937371c"></a><!-- doxytag: member="ggl::multi_point::BOOST_CONCEPT_ASSERT" ref="e0dbad20fa00c02d4af5e8633937371c" args="((concept::Point&lt; P &gt;))" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P, template&lt; typename, typename &gt; class V = std::vector, template&lt; typename &gt; class A = std::allocator&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1multi__point.html">ggl::multi_point</a>&lt; P, V, A &gt;::BOOST_CONCEPT_ASSERT </td>
+ <td>(</td>
+ <td class="paramtype">(<a class="el" href="structggl_1_1concept_1_1_point.html">concept::Point</a>&lt; P &gt;)&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1multi__point__tag.html">multi_point_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::multi_point_tag Struct Reference</h1><!-- doxytag: class="ggl::multi_point_tag" -->OGC Multi <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+OGC Multi <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+<p>Definition at line <a class="el" href="multi_2core_2tags_8hpp_source.html#l00017">17</a> of file <a class="el" href="multi_2core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::multi_polygon&lt; P, V, A &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1multi__polygon.html">ggl::multi_polygon&lt; P, V, A &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">BOOST_CONCEPT_ASSERT</a>((concept::Polygon&lt; P &gt;))</td><td><a class="el" href="structggl_1_1multi__polygon.html">ggl::multi_polygon&lt; P, V, A &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,107 @@
+<!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">
+&nbsp;&nbsp;
+</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_1multi__polygon.html">multi_polygon</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::multi_polygon&lt; P, V, A &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::multi_polygon" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">BOOST_CONCEPT_ASSERT</a> ((<a class="el" href="structggl_1_1concept_1_1_polygon.html">concept::Polygon</a>&lt; P &gt;))</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, template&lt; typename, typename &gt; class V = std::vector, template&lt; typename &gt; class A = std::allocator&gt;<br>
+ struct ggl::multi_polygon&lt; P, V, A &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="multi__polygon_8hpp_source.html#l00030">30</a> of file <a class="el" href="multi__polygon_8hpp_source.html">multi_polygon.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="867921f0b7c2e26e176a2ded3cd2d05d"></a><!-- doxytag: member="ggl::multi_polygon::BOOST_CONCEPT_ASSERT" ref="867921f0b7c2e26e176a2ded3cd2d05d" args="((concept::Polygon&lt; P &gt;))" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P, template&lt; typename, typename &gt; class V = std::vector, template&lt; typename &gt; class A = std::allocator&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1multi__polygon.html">ggl::multi_polygon</a>&lt; P, V, A &gt;::BOOST_CONCEPT_ASSERT </td>
+ <td>(</td>
+ <td class="paramtype">(<a class="el" href="structggl_1_1concept_1_1_polygon.html">concept::Polygon</a>&lt; P &gt;)&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1multi__polygon__tag.html">multi_polygon_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::multi_polygon_tag Struct Reference</h1><!-- doxytag: class="ggl::multi_polygon_tag" -->OGC Multi <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+OGC Multi <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+<p>Definition at line <a class="el" href="multi_2core_2tags_8hpp_source.html#l00023">23</a> of file <a class="el" href="multi_2core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1nsphere__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1nsphere__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="structggl_1_1nsphere__tag.html">nsphere_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::nsphere_tag Struct Reference</h1><!-- doxytag: class="ggl::nsphere_tag" -->Convenience 2D (circle) or 3D (sphere) n-sphere identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Convenience 2D (circle) or 3D (sphere) n-sphere identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00057">57</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__const__iterator-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__const__iterator-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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&lt; Geometry &gt; 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&lt; Geometry &gt;</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&lt; Geometry &gt;</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&lt; Geometry &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__const__iterator.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__const__iterator.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,132 @@
+<!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">
+&nbsp;&nbsp;
+</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&lt; Geometry &gt; 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">
+&lt; Geometry &gt;::<a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">type</a>&nbsp;</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">
+&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt; Geometry &gt;<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> &gt;::<a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">type</a>&nbsp;</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&lt;typename Geometry&gt;<br>
+ struct ggl::point_const_iterator&lt; Geometry &gt;</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&lt;typename Geometry&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::remove_const&lt;Geometry&gt;::<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>&lt; Geometry &gt;::<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&lt;typename Geometry&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef dispatch::point_const_iterator&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt;Geometry&gt;::<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>&gt;::<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>&lt; Geometry &gt;::<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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__tag.html">point_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::point_tag Struct Reference</h1><!-- doxytag: class="ggl::point_tag" -->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...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+OGC Point identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00042">42</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__type-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_type&lt; Geometry &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1point__type.html">ggl::point_type&lt; Geometry &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1point__type.html#6e4f57cc434784e7155016375d202b45">ncg</a> typedef</td><td><a class="el" href="structggl_1_1point__type.html">ggl::point_type&lt; Geometry &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">type</a> typedef</td><td><a class="el" href="structggl_1_1point__type.html">ggl::point_type&lt; Geometry &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__type.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,138 @@
+<!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">
+&nbsp;&nbsp;
+</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__type.html">point_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::point_type&lt; Geometry &gt; 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_type" -->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">
+&lt; Geometry &gt;::<a class="el" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__type.html#6e4f57cc434784e7155016375d202b45">ncg</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
+core_dispatch::point_type<br class="typebreak">
+&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt; Geometry &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">type</a>, <a class="el" href="structggl_1_1point__type.html#6e4f57cc434784e7155016375d202b45">ncg</a> &gt;::<a class="el" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::point_type&lt; Geometry &gt;</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. <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>
+<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="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::remove_const&lt;Geometry&gt;::<a class="el" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">type</a> <a class="el" href="structggl_1_1point__type.html">ggl::point_type</a>&lt; Geometry &gt;::<a class="el" href="structggl_1_1point__type.html#6e4f57cc434784e7155016375d202b45">ncg</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="core_2point__type_8hpp_source.html#l00098">98</a> of file <a class="el" href="core_2point__type_8hpp_source.html">point_type.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="bc8ee2fc6afa22b4e6278c6e9bddb0a6"></a><!-- doxytag: member="ggl::point_type::type" ref="bc8ee2fc6afa22b4e6278c6e9bddb0a6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef core_dispatch::point_type&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt;Geometry&gt;::<a class="el" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">type</a>, <a class="el" href="structggl_1_1point__type.html#6e4f57cc434784e7155016375d202b45">ncg</a>&gt;::<a class="el" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">type</a> <a class="el" href="structggl_1_1point__type.html">ggl::point_type</a>&lt; Geometry &gt;::<a class="el" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="core_2point__type_8hpp_source.html#l00100">100</a> of file <a class="el" href="core_2point__type_8hpp_source.html">point_type.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1direction__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1direction__type-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::policies::relate::direction_type Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bb19847f2c087e788bbe7498d6459c01">dir_a</a></td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#c41c730c67f5c22191f62d5b0a9eb28b">dir_b</a></td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#5a1947e3f282bcfb2907fc42375789ef">direction_type</a>(char h, double a=0, double b=0, int ha=0, int hb=0, int da=0, int db=0, bool op=false)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#164985c8c74343da6fde819a46348368">direction_type</a>(char h, bool op, int ha=0, int hb=0)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#a7f2c671e062ab2461256b1dd5199aa6">how</a></td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bdcf56ad4de2b765ea8567ed8505f115">how_a</a></td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#28e2aa67bf557974a82020bf671992ce">how_b</a></td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#84883a234b8e5bd2a93ef27bc77059e1">opposite</a></td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#818486fa06d8db5cf82161ec717f6f67">ra</a></td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#12b04114e3ec9186b1da15fd15891fab">rb</a></td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1direction__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1direction__type.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,348 @@
+<!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">
+&nbsp;&nbsp;
+</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_1policies.html">policies</a>::<a class="el" href="namespaceggl_1_1policies_1_1relate.html">relate</a>::<a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">direction_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::policies::relate::direction_type Struct Reference</h1><!-- doxytag: class="ggl::policies::relate::direction_type" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#164985c8c74343da6fde819a46348368">direction_type</a> (char h, bool op, int ha=0, int hb=0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#5a1947e3f282bcfb2907fc42375789ef">direction_type</a> (char h, double a=0, double b=0, int ha=0, int hb=0, int da=0, int db=0, bool op=false)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bb19847f2c087e788bbe7498d6459c01">dir_a</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#c41c730c67f5c22191f62d5b0a9eb28b">dir_b</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#a7f2c671e062ab2461256b1dd5199aa6">how</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bdcf56ad4de2b765ea8567ed8505f115">how_a</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#28e2aa67bf557974a82020bf671992ce">how_b</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#84883a234b8e5bd2a93ef27bc77059e1">opposite</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#818486fa06d8db5cf82161ec717f6f67">ra</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#12b04114e3ec9186b1da15fd15891fab">rb</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00024">24</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="5a1947e3f282bcfb2907fc42375789ef"></a><!-- doxytag: member="ggl::policies::relate::direction_type::direction_type" ref="5a1947e3f282bcfb2907fc42375789ef" args="(char h, double a=0, double b=0, int ha=0, int hb=0, int da=0, int db=0, bool op=false)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ggl::policies::relate::direction_type::direction_type </td>
+ <td>(</td>
+ <td class="paramtype">char&nbsp;</td>
+ <td class="paramname"> <em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>a</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>b</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ha</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>hb</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>da</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>db</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>op</em> = <code>false</code></td><td>&nbsp;</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="direction_8hpp_source.html#l00026">26</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="164985c8c74343da6fde819a46348368"></a><!-- doxytag: member="ggl::policies::relate::direction_type::direction_type" ref="164985c8c74343da6fde819a46348368" args="(char h, bool op, int ha=0, int hb=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ggl::policies::relate::direction_type::direction_type </td>
+ <td>(</td>
+ <td class="paramtype">char&nbsp;</td>
+ <td class="paramname"> <em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>op</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ha</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>hb</em> = <code>0</code></td><td>&nbsp;</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="direction_8hpp_source.html#l00042">42</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="a7f2c671e062ab2461256b1dd5199aa6"></a><!-- doxytag: member="ggl::policies::relate::direction_type::how" ref="a7f2c671e062ab2461256b1dd5199aa6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#a7f2c671e062ab2461256b1dd5199aa6">ggl::policies::relate::direction_type::how</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00056">56</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="84883a234b8e5bd2a93ef27bc77059e1"></a><!-- doxytag: member="ggl::policies::relate::direction_type::opposite" ref="84883a234b8e5bd2a93ef27bc77059e1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#84883a234b8e5bd2a93ef27bc77059e1">ggl::policies::relate::direction_type::opposite</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00059">59</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="818486fa06d8db5cf82161ec717f6f67"></a><!-- doxytag: member="ggl::policies::relate::direction_type::ra" ref="818486fa06d8db5cf82161ec717f6f67" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#818486fa06d8db5cf82161ec717f6f67">ggl::policies::relate::direction_type::ra</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00062">62</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="12b04114e3ec9186b1da15fd15891fab"></a><!-- doxytag: member="ggl::policies::relate::direction_type::rb" ref="12b04114e3ec9186b1da15fd15891fab" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#12b04114e3ec9186b1da15fd15891fab">ggl::policies::relate::direction_type::rb</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00062">62</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="bdcf56ad4de2b765ea8567ed8505f115"></a><!-- doxytag: member="ggl::policies::relate::direction_type::how_a" ref="bdcf56ad4de2b765ea8567ed8505f115" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bdcf56ad4de2b765ea8567ed8505f115">ggl::policies::relate::direction_type::how_a</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00067">67</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="28e2aa67bf557974a82020bf671992ce"></a><!-- doxytag: member="ggl::policies::relate::direction_type::how_b" ref="28e2aa67bf557974a82020bf671992ce" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#28e2aa67bf557974a82020bf671992ce">ggl::policies::relate::direction_type::how_b</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00068">68</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="bb19847f2c087e788bbe7498d6459c01"></a><!-- doxytag: member="ggl::policies::relate::direction_type::dir_a" ref="bb19847f2c087e788bbe7498d6459c01" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bb19847f2c087e788bbe7498d6459c01">ggl::policies::relate::direction_type::dir_a</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00076">76</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c41c730c67f5c22191f62d5b0a9eb28b"></a><!-- doxytag: member="ggl::policies::relate::direction_type::dir_b" ref="c41c730c67f5c22191f62d5b0a9eb28b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#c41c730c67f5c22191f62d5b0a9eb28b">ggl::policies::relate::direction_type::dir_b</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00077">77</a> of file <a class="el" href="direction_8hpp_source.html">direction.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__de9im-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__de9im-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::policies::relate::segments_de9im&lt; S1, S2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#f5c67f6d1fb6bc02730f9942c1a24829">collinear_a_in_b</a>(S1 const &amp;s, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#e62d1ab6f50141636f04f5ae514e206b">collinear_b_in_a</a>(const S2 &amp;s, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#7e36a5671574be928045baec27dcfe0d">collinear_disjoint</a>()</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#eb5b99875c3518bb6263b983041c4cf3">collinear_interior_boundary_intersect</a>(S const &amp;s, bool a_within_b, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#798750f9c6e3ca554cef83e7ecbdb9cd">collinear_overlaps</a>(coordinate_type const &amp;x1, coordinate_type const &amp;y1, coordinate_type const &amp;x2, coordinate_type const &amp;y2, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c9112222bb21c8bbc164008c9bdbfa24">collinear_touch</a>(coordinate_type const &amp;x, coordinate_type const &amp;y, bool opposite, char)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#552bc7eddefee9641c7da37c71e2dc54">coordinate_type</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c38201cbc6a2788b300413a7f90103b2">degenerate</a>(S1 const &amp;segment, bool a_degenerate)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3887cd4e999e77056841445b19f82628">parallel</a>()</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3aab22f63cc115f292a3ddbff5450f43">rays_intersect</a>(bool on_segment, double ra, double rb, coordinate_type const &amp;dx1, coordinate_type const &amp;dy1, coordinate_type const &amp;dx2, coordinate_type const &amp;dy2, coordinate_type const &amp;wx, coordinate_type const &amp;wy, S1 const &amp;s1, S2 const &amp;s2)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#93b91d42efd81a1b75c016fe886bd3b4">return_type</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#a36b30cceae8d736831ff406707dfd2d">segment_equal</a>(S1 const &amp;s, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#54550d451a6a983ef03643c1d03298cc">segment_type1</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#fd7fc33e6182aa0a02079261b98af377">segment_type2</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__de9im.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__de9im.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,593 @@
+<!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">
+&nbsp;&nbsp;
+</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_1policies.html">policies</a>::<a class="el" href="namespaceggl_1_1policies_1_1relate.html">relate</a>::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">segments_de9im</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::policies::relate::segments_de9im&lt; S1, S2 &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::policies::relate::segments_de9im" -->
+<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_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; S1, S2 &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#552bc7eddefee9641c7da37c71e2dc54">coordinate_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1de9im__segment.html">de9im_segment</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#93b91d42efd81a1b75c016fe886bd3b4">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef S1&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#54550d451a6a983ef03643c1d03298cc">segment_type1</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef S2&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#fd7fc33e6182aa0a02079261b98af377">segment_type2</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#f5c67f6d1fb6bc02730f9942c1a24829">collinear_a_in_b</a> (S1 const &amp;s, bool opposite)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#e62d1ab6f50141636f04f5ae514e206b">collinear_b_in_a</a> (const S2 &amp;s, bool opposite)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#7e36a5671574be928045baec27dcfe0d">collinear_disjoint</a> ()</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#eb5b99875c3518bb6263b983041c4cf3">collinear_interior_boundary_intersect</a> (S const &amp;s, bool a_within_b, bool opposite)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#798750f9c6e3ca554cef83e7ecbdb9cd">collinear_overlaps</a> (<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;x1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;y1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;x2, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;y2, bool opposite)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c9112222bb21c8bbc164008c9bdbfa24">collinear_touch</a> (<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;x, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;y, bool opposite, char)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c38201cbc6a2788b300413a7f90103b2">degenerate</a> (S1 const &amp;<a class="el" href="structggl_1_1segment.html">segment</a>, bool a_degenerate)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3887cd4e999e77056841445b19f82628">parallel</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3aab22f63cc115f292a3ddbff5450f43">rays_intersect</a> (bool on_segment, double ra, double rb, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dx1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dy1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dx2, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dy2, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;wx, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;wy, S1 const &amp;s1, S2 const &amp;s2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#a36b30cceae8d736831ff406707dfd2d">segment_equal</a> (S1 const &amp;s, bool opposite)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename S1, typename S2&gt;<br>
+ struct ggl::policies::relate::segments_de9im&lt; S1, S2 &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="de9im_8hpp_source.html#l00025">25</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="93b91d42efd81a1b75c016fe886bd3b4"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::return_type" ref="93b91d42efd81a1b75c016fe886bd3b4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1de9im__segment.html">de9im_segment</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::<a class="el" href="structggl_1_1de9im__segment.html">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="de9im_8hpp_source.html#l00027">27</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="54550d451a6a983ef03643c1d03298cc"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::segment_type1" ref="54550d451a6a983ef03643c1d03298cc" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef S1 <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#54550d451a6a983ef03643c1d03298cc">segment_type1</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="de9im_8hpp_source.html#l00028">28</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="fd7fc33e6182aa0a02079261b98af377"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::segment_type2" ref="fd7fc33e6182aa0a02079261b98af377" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef S2 <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#fd7fc33e6182aa0a02079261b98af377">segment_type2</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="de9im_8hpp_source.html#l00029">29</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="552bc7eddefee9641c7da37c71e2dc54"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::coordinate_type" ref="552bc7eddefee9641c7da37c71e2dc54" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;S1, S2&gt;::type <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="de9im_8hpp_source.html#l00030">30</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="3aab22f63cc115f292a3ddbff5450f43"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::rays_intersect" ref="3aab22f63cc115f292a3ddbff5450f43" args="(bool on_segment, double ra, double rb, coordinate_type const &amp;dx1, coordinate_type const &amp;dy1, coordinate_type const &amp;dx2, coordinate_type const &amp;dy2, coordinate_type const &amp;wx, coordinate_type const &amp;wy, S1 const &amp;s1, S2 const &amp;s2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::rays_intersect </td>
+ <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>on_segment</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>ra</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>rb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dx1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dy1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dx2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dy2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>wx</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>wy</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s2</em></td><td>&nbsp;</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="de9im_8hpp_source.html#l00032">32</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c9112222bb21c8bbc164008c9bdbfa24"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::collinear_touch" ref="c9112222bb21c8bbc164008c9bdbfa24" args="(coordinate_type const &amp;x, coordinate_type const &amp;y, bool opposite, char)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::collinear_touch </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&nbsp;</td>
+ <td class="paramname"></td><td>&nbsp;</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="de9im_8hpp_source.html#l00079">79</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="eb5b99875c3518bb6263b983041c4cf3"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::collinear_interior_boundary_intersect" ref="eb5b99875c3518bb6263b983041c4cf3" args="(S const &amp;s, bool a_within_b, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+<div class="memtemplate">
+template&lt;typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::collinear_interior_boundary_intersect </td>
+ <td>(</td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>a_within_b</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="de9im_8hpp_source.html#l00090">90</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="f5c67f6d1fb6bc02730f9942c1a24829"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::collinear_a_in_b" ref="f5c67f6d1fb6bc02730f9942c1a24829" args="(S1 const &amp;s, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::collinear_a_in_b </td>
+ <td>(</td>
+ <td class="paramtype">S1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="de9im_8hpp_source.html#l00108">108</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e62d1ab6f50141636f04f5ae514e206b"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::collinear_b_in_a" ref="e62d1ab6f50141636f04f5ae514e206b" args="(const S2 &amp;s, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::collinear_b_in_a </td>
+ <td>(</td>
+ <td class="paramtype">const S2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="de9im_8hpp_source.html#l00116">116</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="798750f9c6e3ca554cef83e7ecbdb9cd"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::collinear_overlaps" ref="798750f9c6e3ca554cef83e7ecbdb9cd" args="(coordinate_type const &amp;x1, coordinate_type const &amp;y1, coordinate_type const &amp;x2, coordinate_type const &amp;y2, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::collinear_overlaps </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>x1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>y1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>x2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>y2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="de9im_8hpp_source.html#l00125">125</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a36b30cceae8d736831ff406707dfd2d"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::segment_equal" ref="a36b30cceae8d736831ff406707dfd2d" args="(S1 const &amp;s, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::segment_equal </td>
+ <td>(</td>
+ <td class="paramtype">S1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="de9im_8hpp_source.html#l00136">136</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c38201cbc6a2788b300413a7f90103b2"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::degenerate" ref="c38201cbc6a2788b300413a7f90103b2" args="(S1 const &amp;segment, bool a_degenerate)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::degenerate </td>
+ <td>(</td>
+ <td class="paramtype">S1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>segment</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>a_degenerate</em></td><td>&nbsp;</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="de9im_8hpp_source.html#l00145">145</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="7e36a5671574be928045baec27dcfe0d"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::collinear_disjoint" ref="7e36a5671574be928045baec27dcfe0d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::collinear_disjoint </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="de9im_8hpp_source.html#l00160">160</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="3887cd4e999e77056841445b19f82628"></a><!-- doxytag: member="ggl::policies::relate::segments_de9im::parallel" ref="3887cd4e999e77056841445b19f82628" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1de9im__segment.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">ggl::policies::relate::segments_de9im</a>&lt; S1, S2 &gt;::parallel </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="de9im_8hpp_source.html#l00170">170</a> of file <a class="el" href="de9im_8hpp_source.html">de9im.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__direction-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__direction-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::policies::relate::segments_direction&lt; S1, S2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#a00a443f46cd557c282891c59cc683fb">collinear_a_in_b</a>(S1 const &amp;, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#298148121645c574e290081c7cd16995">collinear_b_in_a</a>(S2 const &amp;, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#bac75a74d17cdac4e693be8c6a76cd60">collinear_disjoint</a>()</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#80ce268792c7516aac1c546e8fbd9b24">collinear_interior_boundary_intersect</a>(S const &amp;, bool, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#eb0ebf059d5e294fb18156aac93027cb">collinear_overlaps</a>(coordinate_type const &amp;, coordinate_type const &amp;, coordinate_type const &amp;, coordinate_type const &amp;, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#46d3001d71d9684f5806911c68d5bff5">collinear_touch</a>(coordinate_type const &amp;, coordinate_type const &amp;, bool opposite, char how)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">coordinate_type</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6992882507d5abb3a649db55eeaa01eb">degenerate</a>(S1 const &amp;, bool)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#efcd33b8f82a96582cdd9b3ce3a05eb9">parallel</a>()</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#32ede06f7881e263fc42a6cf02f72f68">rays_intersect</a>(bool on_segment, double ra, double rb, coordinate_type const &amp;dx1, coordinate_type const &amp;dy1, coordinate_type const &amp;dx2, coordinate_type const &amp;dy2, coordinate_type const &amp;wx, coordinate_type const &amp;wy, S1 const &amp;s1, S2 const &amp;s2)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#38fbcf5e765fdff2104b206978a793a9">segment_equal</a>(S1 const &amp;, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6d294de7005beda339acd766c4634053">segment_type1</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#411feeef724397e06f71dd1cabbda7e0">segment_type2</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__direction.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__direction.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,593 @@
+<!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">
+&nbsp;&nbsp;
+</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_1policies.html">policies</a>::<a class="el" href="namespaceggl_1_1policies_1_1relate.html">relate</a>::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">segments_direction</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::policies::relate::segments_direction&lt; S1, S2 &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::policies::relate::segments_direction" -->
+<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_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; S1, S2 &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">coordinate_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">direction_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef S1&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6d294de7005beda339acd766c4634053">segment_type1</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef S2&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#411feeef724397e06f71dd1cabbda7e0">segment_type2</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#a00a443f46cd557c282891c59cc683fb">collinear_a_in_b</a> (S1 const &amp;, bool opposite)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#298148121645c574e290081c7cd16995">collinear_b_in_a</a> (S2 const &amp;, bool opposite)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#bac75a74d17cdac4e693be8c6a76cd60">collinear_disjoint</a> ()</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#80ce268792c7516aac1c546e8fbd9b24">collinear_interior_boundary_intersect</a> (S const &amp;, bool, bool opposite)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#eb0ebf059d5e294fb18156aac93027cb">collinear_overlaps</a> (<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;, bool opposite)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#46d3001d71d9684f5806911c68d5bff5">collinear_touch</a> (<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;, bool opposite, char how)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6992882507d5abb3a649db55eeaa01eb">degenerate</a> (S1 const &amp;, bool)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#efcd33b8f82a96582cdd9b3ce3a05eb9">parallel</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#32ede06f7881e263fc42a6cf02f72f68">rays_intersect</a> (bool on_segment, double ra, double rb, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dx1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dy1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dx2, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dy2, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;wx, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;wy, S1 const &amp;s1, S2 const &amp;s2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#38fbcf5e765fdff2104b206978a793a9">segment_equal</a> (S1 const &amp;, bool opposite)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename S1, typename S2&gt;<br>
+ struct ggl::policies::relate::segments_direction&lt; S1, S2 &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00082">82</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="84941aff66a66a38844da63b99590932"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::return_type" ref="84941aff66a66a38844da63b99590932" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">direction_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::<a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00084">84</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="6d294de7005beda339acd766c4634053"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::segment_type1" ref="6d294de7005beda339acd766c4634053" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef S1 <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6d294de7005beda339acd766c4634053">segment_type1</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00085">85</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="411feeef724397e06f71dd1cabbda7e0"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::segment_type2" ref="411feeef724397e06f71dd1cabbda7e0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef S2 <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#411feeef724397e06f71dd1cabbda7e0">segment_type2</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00086">86</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="1f7851f1ffd68cf77e1dad3cbe9ce5e3"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::coordinate_type" ref="1f7851f1ffd68cf77e1dad3cbe9ce5e3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;S1, S2&gt;::type <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00087">87</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="32ede06f7881e263fc42a6cf02f72f68"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::rays_intersect" ref="32ede06f7881e263fc42a6cf02f72f68" args="(bool on_segment, double ra, double rb, coordinate_type const &amp;dx1, coordinate_type const &amp;dy1, coordinate_type const &amp;dx2, coordinate_type const &amp;dy2, coordinate_type const &amp;wx, coordinate_type const &amp;wy, S1 const &amp;s1, S2 const &amp;s2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::rays_intersect </td>
+ <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>on_segment</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>ra</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>rb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dx1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dy1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dx2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dy2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>wx</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>wy</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s2</em></td><td>&nbsp;</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="direction_8hpp_source.html#l00089">89</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="46d3001d71d9684f5806911c68d5bff5"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::collinear_touch" ref="46d3001d71d9684f5806911c68d5bff5" args="(coordinate_type const &amp;, coordinate_type const &amp;, bool opposite, char how)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::collinear_touch </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&nbsp;</td>
+ <td class="paramname"> <em>how</em></td><td>&nbsp;</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="direction_8hpp_source.html#l00147">147</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="80ce268792c7516aac1c546e8fbd9b24"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::collinear_interior_boundary_intersect" ref="80ce268792c7516aac1c546e8fbd9b24" args="(S const &amp;, bool, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+<div class="memtemplate">
+template&lt;typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::collinear_interior_boundary_intersect </td>
+ <td>(</td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="direction_8hpp_source.html#l00159">159</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a00a443f46cd557c282891c59cc683fb"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::collinear_a_in_b" ref="a00a443f46cd557c282891c59cc683fb" args="(S1 const &amp;, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::collinear_a_in_b </td>
+ <td>(</td>
+ <td class="paramtype">S1 const &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="direction_8hpp_source.html#l00164">164</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="298148121645c574e290081c7cd16995"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::collinear_b_in_a" ref="298148121645c574e290081c7cd16995" args="(S2 const &amp;, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::collinear_b_in_a </td>
+ <td>(</td>
+ <td class="paramtype">S2 const &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="direction_8hpp_source.html#l00168">168</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="eb0ebf059d5e294fb18156aac93027cb"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::collinear_overlaps" ref="eb0ebf059d5e294fb18156aac93027cb" args="(coordinate_type const &amp;, coordinate_type const &amp;, coordinate_type const &amp;, coordinate_type const &amp;, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::collinear_overlaps </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="direction_8hpp_source.html#l00173">173</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="38fbcf5e765fdff2104b206978a793a9"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::segment_equal" ref="38fbcf5e765fdff2104b206978a793a9" args="(S1 const &amp;, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::segment_equal </td>
+ <td>(</td>
+ <td class="paramtype">S1 const &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="direction_8hpp_source.html#l00180">180</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="6992882507d5abb3a649db55eeaa01eb"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::degenerate" ref="6992882507d5abb3a649db55eeaa01eb" args="(S1 const &amp;, bool)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::degenerate </td>
+ <td>(</td>
+ <td class="paramtype">S1 const &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"></td><td>&nbsp;</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="direction_8hpp_source.html#l00185">185</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="bac75a74d17cdac4e693be8c6a76cd60"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::collinear_disjoint" ref="bac75a74d17cdac4e693be8c6a76cd60" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::collinear_disjoint </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00190">190</a> of file <a class="el" href="direction_8hpp_source.html">direction.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="efcd33b8f82a96582cdd9b3ce3a05eb9"></a><!-- doxytag: member="ggl::policies::relate::segments_direction::parallel" ref="efcd33b8f82a96582cdd9b3ce3a05eb9" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction</a>&lt; S1, S2 &gt;::parallel </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="direction_8hpp_source.html#l00196">196</a> of file <a class="el" href="direction_8hpp_source.html">direction.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__intersection__points-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__intersection__points-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#c6ae19aac0a85a1344c591ff2d4b0cbb">collinear_a_in_b</a>(S1 const &amp;s, bool)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#d963f9b96126549f9328bd702e17df0f">collinear_b_in_a</a>(S2 const &amp;s, bool)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac05de9fec4c0ff68b0c70e28f8be442">collinear_disjoint</a>()</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#fff966d91744b1fa0f0f33680d73df40">collinear_inside</a>(S const &amp;s)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#1fe7ee7acea8cc077bd98ca260d19bd9">collinear_interior_boundary_intersect</a>(S const &amp;s, bool, bool)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#23e3bbadf0217d59dfd71d01ee690ca8">collinear_overlaps</a>(coordinate_type const &amp;x1, coordinate_type const &amp;y1, coordinate_type const &amp;x2, coordinate_type const &amp;y2, bool)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac5d192f53e833ee39c48dc8954199d9">collinear_touch</a>(coordinate_type const &amp;x, coordinate_type const &amp;y, bool, char)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#bcb088829827c05640c84ca1c324361a">coordinate_type</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#3cf559644d63441e018d2a590559986e">degenerate</a>(S1 const &amp;s, bool)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#92164bfd70c2ff6e8d2778594d69b6da">parallel</a>()</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#a31565e67fe3205615e88aef3015e550">rays_intersect</a>(bool on_segment, double ra, double rb, coordinate_type const &amp;dx1, coordinate_type const &amp;dy1, coordinate_type const &amp;dx2, coordinate_type const &amp;dy2, coordinate_type const &amp;wx, coordinate_type const &amp;wy, S1 const &amp;s1, S2 const &amp;s2)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#2fc7e51ab6b17055f8017b9bb276b086">segment_equal</a>(S1 const &amp;s, bool)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#dd6bd0155c8cf7da5fddbe2833920135">segment_type1</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#5765d55937d6cb6edc3a1cfe053f6f96">segment_type2</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__intersection__points.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__intersection__points.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,622 @@
+<!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">
+&nbsp;&nbsp;
+</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_1policies.html">policies</a>::<a class="el" href="namespaceggl_1_1policies_1_1relate.html">relate</a>::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">segments_intersection_points</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::policies::relate::segments_intersection_points" -->
+<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_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; S1, S2 &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#bcb088829827c05640c84ca1c324361a">coordinate_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef ReturnType&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef S1&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#dd6bd0155c8cf7da5fddbe2833920135">segment_type1</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef S2&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#5765d55937d6cb6edc3a1cfe053f6f96">segment_type2</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#c6ae19aac0a85a1344c591ff2d4b0cbb">collinear_a_in_b</a> (S1 const &amp;s, bool)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#d963f9b96126549f9328bd702e17df0f">collinear_b_in_a</a> (S2 const &amp;s, bool)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac05de9fec4c0ff68b0c70e28f8be442">collinear_disjoint</a> ()</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#fff966d91744b1fa0f0f33680d73df40">collinear_inside</a> (S const &amp;s)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#1fe7ee7acea8cc077bd98ca260d19bd9">collinear_interior_boundary_intersect</a> (S const &amp;s, bool, bool)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#23e3bbadf0217d59dfd71d01ee690ca8">collinear_overlaps</a> (<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;x1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;y1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;x2, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;y2, bool)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac5d192f53e833ee39c48dc8954199d9">collinear_touch</a> (<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;x, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;y, bool, char)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#3cf559644d63441e018d2a590559986e">degenerate</a> (S1 const &amp;s, bool)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#92164bfd70c2ff6e8d2778594d69b6da">parallel</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#a31565e67fe3205615e88aef3015e550">rays_intersect</a> (bool on_segment, double ra, double rb, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dx1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dy1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dx2, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dy2, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;wx, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;wy, S1 const &amp;s1, S2 const
&amp;s2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#2fc7e51ab6b17055f8017b9bb276b086">segment_equal</a> (S1 const &amp;s, bool)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename S1, typename S2, typename ReturnType&gt;<br>
+ struct ggl::policies::relate::segments_intersection_points&lt; S1, S2, ReturnType &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="intersection__points_8hpp_source.html#l00025">25</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="6e36f163958d94ece083a97f0e3d659c"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::return_type" ref="6e36f163958d94ece083a97f0e3d659c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef ReturnType <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__points_8hpp_source.html#l00027">27</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="dd6bd0155c8cf7da5fddbe2833920135"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::segment_type1" ref="dd6bd0155c8cf7da5fddbe2833920135" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef S1 <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#dd6bd0155c8cf7da5fddbe2833920135">segment_type1</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__points_8hpp_source.html#l00028">28</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="5765d55937d6cb6edc3a1cfe053f6f96"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::segment_type2" ref="5765d55937d6cb6edc3a1cfe053f6f96" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef S2 <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#5765d55937d6cb6edc3a1cfe053f6f96">segment_type2</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__points_8hpp_source.html#l00029">29</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="bcb088829827c05640c84ca1c324361a"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::coordinate_type" ref="bcb088829827c05640c84ca1c324361a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;S1, S2&gt;::type <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__points_8hpp_source.html#l00030">30</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="a31565e67fe3205615e88aef3015e550"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::rays_intersect" ref="a31565e67fe3205615e88aef3015e550" args="(bool on_segment, double ra, double rb, coordinate_type const &amp;dx1, coordinate_type const &amp;dy1, coordinate_type const &amp;dx2, coordinate_type const &amp;dy2, coordinate_type const &amp;wx, coordinate_type const &amp;wy, S1 const &amp;s1, S2 const &amp;s2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::rays_intersect </td>
+ <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>on_segment</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>ra</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>rb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dx1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dy1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dx2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dy2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>wx</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>wy</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s2</em></td><td>&nbsp;</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="intersection__points_8hpp_source.html#l00032">32</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ac5d192f53e833ee39c48dc8954199d9"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::collinear_touch" ref="ac5d192f53e833ee39c48dc8954199d9" args="(coordinate_type const &amp;x, coordinate_type const &amp;y, bool, char)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::collinear_touch </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&nbsp;</td>
+ <td class="paramname"></td><td>&nbsp;</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="intersection__points_8hpp_source.html#l00059">59</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="fff966d91744b1fa0f0f33680d73df40"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::collinear_inside" ref="fff966d91744b1fa0f0f33680d73df40" args="(S const &amp;s)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+<div class="memtemplate">
+template&lt;typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::collinear_inside </td>
+ <td>(</td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__points_8hpp_source.html#l00070">70</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="1fe7ee7acea8cc077bd98ca260d19bd9"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::collinear_interior_boundary_intersect" ref="1fe7ee7acea8cc077bd98ca260d19bd9" args="(S const &amp;s, bool, bool)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+<div class="memtemplate">
+template&lt;typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::collinear_interior_boundary_intersect </td>
+ <td>(</td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"></td><td>&nbsp;</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="intersection__points_8hpp_source.html#l00082">82</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c6ae19aac0a85a1344c591ff2d4b0cbb"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::collinear_a_in_b" ref="c6ae19aac0a85a1344c591ff2d4b0cbb" args="(S1 const &amp;s, bool)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::collinear_a_in_b </td>
+ <td>(</td>
+ <td class="paramtype">S1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"></td><td>&nbsp;</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="intersection__points_8hpp_source.html#l00087">87</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d963f9b96126549f9328bd702e17df0f"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::collinear_b_in_a" ref="d963f9b96126549f9328bd702e17df0f" args="(S2 const &amp;s, bool)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::collinear_b_in_a </td>
+ <td>(</td>
+ <td class="paramtype">S2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"></td><td>&nbsp;</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="intersection__points_8hpp_source.html#l00091">91</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="23e3bbadf0217d59dfd71d01ee690ca8"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::collinear_overlaps" ref="23e3bbadf0217d59dfd71d01ee690ca8" args="(coordinate_type const &amp;x1, coordinate_type const &amp;y1, coordinate_type const &amp;x2, coordinate_type const &amp;y2, bool)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::collinear_overlaps </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>x1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>y1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>x2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>y2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"></td><td>&nbsp;</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="intersection__points_8hpp_source.html#l00096">96</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2fc7e51ab6b17055f8017b9bb276b086"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::segment_equal" ref="2fc7e51ab6b17055f8017b9bb276b086" args="(S1 const &amp;s, bool)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::segment_equal </td>
+ <td>(</td>
+ <td class="paramtype">S1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"></td><td>&nbsp;</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="intersection__points_8hpp_source.html#l00109">109</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ac05de9fec4c0ff68b0c70e28f8be442"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::collinear_disjoint" ref="ac05de9fec4c0ff68b0c70e28f8be442" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::collinear_disjoint </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__points_8hpp_source.html#l00120">120</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="92164bfd70c2ff6e8d2778594d69b6da"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::parallel" ref="92164bfd70c2ff6e8d2778594d69b6da" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::parallel </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__points_8hpp_source.html#l00124">124</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="3cf559644d63441e018d2a590559986e"></a><!-- doxytag: member="ggl::policies::relate::segments_intersection_points::degenerate" ref="3cf559644d63441e018d2a590559986e" args="(S1 const &amp;s, bool)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename S1 , typename S2 , typename ReturnType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points</a>&lt; S1, S2, ReturnType &gt;::degenerate </td>
+ <td>(</td>
+ <td class="paramtype">S1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"></td><td>&nbsp;</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="intersection__points_8hpp_source.html#l00128">128</a> of file <a class="el" href="intersection__points_8hpp_source.html">intersection_points.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__tupled-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__tupled-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#512bec33f0d13ffe8bdcaa7d2c6cd1ec">collinear_a_in_b</a>(segment_type1 const &amp;segment, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f95f9b1c2e967c260d060c24aabf160f">collinear_b_in_a</a>(segment_type2 const &amp;segment, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#7e99a479fc3e9b45db7ab065305dccc6">collinear_disjoint</a>()</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#036ae4e5762ae6b9f981e7b9d39f0b2a">collinear_interior_boundary_intersect</a>(S const &amp;segment, bool a_within_b, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fc31e769602ef50ec62d22ed157554b4">collinear_overlaps</a>(coordinate_type const &amp;x1, coordinate_type const &amp;y1, coordinate_type const &amp;x2, coordinate_type const &amp;y2, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#047b8574e173fd4ccb5f32dba6adb904">collinear_touch</a>(coordinate_type const &amp;x, coordinate_type const &amp;y, bool opposite, char how)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#e814cd145873164ae0b9c0c094e20687">coordinate_type</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#d68c9fa4dbac13be78e0f2d8a099ca6a">degenerate</a>(segment_type1 const &amp;segment, bool a_degenerate)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#970335edc3c8374463b8c0c4296c87f3">parallel</a>()</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f82c271b6352c8b4df60172f302a90b6">rays_intersect</a>(bool on_segment, double ra, double rb, coordinate_type const &amp;dx1, coordinate_type const &amp;dy1, coordinate_type const &amp;dx2, coordinate_type const &amp;dy2, coordinate_type const &amp;wx, coordinate_type const &amp;wy, segment_type1 const &amp;s1, segment_type2 const &amp;s2)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#43851ccf0d363d5c0d8a55c520f8c2b8">segment_equal</a>(segment_type1 const &amp;s, bool opposite)</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">segment_type2</a> typedef</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__tupled.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__tupled.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,596 @@
+<!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">
+&nbsp;&nbsp;
+</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_1policies.html">policies</a>::<a class="el" href="namespaceggl_1_1policies_1_1relate.html">relate</a>::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">segments_tupled</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::policies::relate::segments_tupled" -->
+<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_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a>, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">segment_type2</a> &gt;<br class="typebreak">
+::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#e814cd145873164ae0b9c0c094e20687">coordinate_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::tuple&lt; typename <br class="typebreak">
+Policy1::return_type, typename <br class="typebreak">
+Policy2::return_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Policy1::segment_type1&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Policy1::segment_type2&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">segment_type2</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#512bec33f0d13ffe8bdcaa7d2c6cd1ec">collinear_a_in_b</a> (<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> const &amp;<a class="el" href="structggl_1_1segment.html">segment</a>, bool opposite)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f95f9b1c2e967c260d060c24aabf160f">collinear_b_in_a</a> (<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">segment_type2</a> const &amp;<a class="el" href="structggl_1_1segment.html">segment</a>, bool opposite)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#7e99a479fc3e9b45db7ab065305dccc6">collinear_disjoint</a> ()</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename S &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#036ae4e5762ae6b9f981e7b9d39f0b2a">collinear_interior_boundary_intersect</a> (S const &amp;<a class="el" href="structggl_1_1segment.html">segment</a>, bool a_within_b, bool opposite)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fc31e769602ef50ec62d22ed157554b4">collinear_overlaps</a> (<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;x1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;y1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;x2, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;y2, bool opposite)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#047b8574e173fd4ccb5f32dba6adb904">collinear_touch</a> (<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;x, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;y, bool opposite, char how)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#d68c9fa4dbac13be78e0f2d8a099ca6a">degenerate</a> (<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> const &amp;<a class="el" href="structggl_1_1segment.html">segment</a>, bool a_degenerate)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#970335edc3c8374463b8c0c4296c87f3">parallel</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f82c271b6352c8b4df60172f302a90b6">rays_intersect</a> (bool on_segment, double ra, double rb, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dx1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dy1, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dx2, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dy2, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;wx, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;wy, <a class="el" href="structggl_1_1policies_1_1relate_1_1
segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> const &amp;s1, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">segment_type2</a> const &amp;s2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#43851ccf0d363d5c0d8a55c520f8c2b8">segment_equal</a> (<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> const &amp;s, bool opposite)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Policy1, typename Policy2&gt;<br>
+ struct ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="tupled_8hpp_source.html#l00024">24</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="fd5a4a56a3f161178b97885e9ae27738"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::return_type" ref="fd5a4a56a3f161178b97885e9ae27738" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::tuple&lt; typename Policy1::return_type, typename Policy2::return_type &gt; <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="tupled_8hpp_source.html#l00030">30</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a85d9e4477a04f1263e99c63b56bca1b"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::segment_type1" ref="a85d9e4477a04f1263e99c63b56bca1b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Policy1::segment_type1 <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="tupled_8hpp_source.html#l00033">33</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="192979bbc532077e533e31a827ed473d"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::segment_type2" ref="192979bbc532077e533e31a827ed473d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Policy1::segment_type2 <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::<a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">segment_type2</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="tupled_8hpp_source.html#l00034">34</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e814cd145873164ae0b9c0c094e20687"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::coordinate_type" ref="e814cd145873164ae0b9c0c094e20687" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt; <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a>, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">segment_type2</a> &gt;::type <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="tupled_8hpp_source.html#l00040">40</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="f82c271b6352c8b4df60172f302a90b6"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::rays_intersect" ref="f82c271b6352c8b4df60172f302a90b6" args="(bool on_segment, double ra, double rb, coordinate_type const &amp;dx1, coordinate_type const &amp;dy1, coordinate_type const &amp;dx2, coordinate_type const &amp;dy2, coordinate_type const &amp;wx, coordinate_type const &amp;wy, segment_type1 const &amp;s1, segment_type2 const &amp;s2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::rays_intersect </td>
+ <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>on_segment</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>ra</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>rb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dx1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dy1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dx2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dy2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>wx</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>wy</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">segment_type2</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s2</em></td><td>&nbsp;</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="tupled_8hpp_source.html#l00043">43</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="047b8574e173fd4ccb5f32dba6adb904"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::collinear_touch" ref="047b8574e173fd4ccb5f32dba6adb904" args="(coordinate_type const &amp;x, coordinate_type const &amp;y, bool opposite, char how)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::collinear_touch </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&nbsp;</td>
+ <td class="paramname"> <em>how</em></td><td>&nbsp;</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="tupled_8hpp_source.html#l00057">57</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="036ae4e5762ae6b9f981e7b9d39f0b2a"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::collinear_interior_boundary_intersect" ref="036ae4e5762ae6b9f981e7b9d39f0b2a" args="(S const &amp;segment, bool a_within_b, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+<div class="memtemplate">
+template&lt;typename S &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::collinear_interior_boundary_intersect </td>
+ <td>(</td>
+ <td class="paramtype">S const &amp;&nbsp;</td>
+ <td class="paramname"> <em>segment</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>a_within_b</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="tupled_8hpp_source.html#l00068">68</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="512bec33f0d13ffe8bdcaa7d2c6cd1ec"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::collinear_a_in_b" ref="512bec33f0d13ffe8bdcaa7d2c6cd1ec" args="(segment_type1 const &amp;segment, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::collinear_a_in_b </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>segment</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="tupled_8hpp_source.html#l00078">78</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="f95f9b1c2e967c260d060c24aabf160f"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::collinear_b_in_a" ref="f95f9b1c2e967c260d060c24aabf160f" args="(segment_type2 const &amp;segment, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::collinear_b_in_a </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">segment_type2</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>segment</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="tupled_8hpp_source.html#l00087">87</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="fc31e769602ef50ec62d22ed157554b4"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::collinear_overlaps" ref="fc31e769602ef50ec62d22ed157554b4" args="(coordinate_type const &amp;x1, coordinate_type const &amp;y1, coordinate_type const &amp;x2, coordinate_type const &amp;y2, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::collinear_overlaps </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>x1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>y1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>x2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>y2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="tupled_8hpp_source.html#l00098">98</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="43851ccf0d363d5c0d8a55c520f8c2b8"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::segment_equal" ref="43851ccf0d363d5c0d8a55c520f8c2b8" args="(segment_type1 const &amp;s, bool opposite)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::segment_equal </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>opposite</em></td><td>&nbsp;</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="tupled_8hpp_source.html#l00110">110</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d68c9fa4dbac13be78e0f2d8a099ca6a"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::degenerate" ref="d68c9fa4dbac13be78e0f2d8a099ca6a" args="(segment_type1 const &amp;segment, bool a_degenerate)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::degenerate </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>segment</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>a_degenerate</em></td><td>&nbsp;</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="tupled_8hpp_source.html#l00120">120</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="7e99a479fc3e9b45db7ab065305dccc6"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::collinear_disjoint" ref="7e99a479fc3e9b45db7ab065305dccc6" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::collinear_disjoint </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="tupled_8hpp_source.html#l00130">130</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="970335edc3c8374463b8c0c4296c87f3"></a><!-- doxytag: member="ggl::policies::relate::segments_tupled::parallel" ref="970335edc3c8374463b8c0c4296c87f3" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Policy1 , typename Policy2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled</a>&lt; Policy1, Policy2 &gt;::parallel </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="tupled_8hpp_source.html#l00140">140</a> of file <a class="el" href="tupled_8hpp_source.html">tupled.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1polygon__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1polygon__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1polygon__tag.html">polygon_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::polygon_tag Struct Reference</h1><!-- doxytag: class="ggl::polygon_tag" -->OGC Polygon identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+OGC Polygon identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00048">48</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1radius__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1radius__type-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::radius_type&lt; G &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1radius__type.html">ggl::radius_type&lt; G &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a> typedef</td><td><a class="el" href="structggl_1_1radius__type.html">ggl::radius_type&lt; G &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a> typedef</td><td><a class="el" href="structggl_1_1radius__type.html">ggl::radius_type&lt; G &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1radius__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1radius__type.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,129 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="structggl_1_1radius__type.html">radius_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::radius_type&lt; G &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::radius_type" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::remove_const&lt; G &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
+core_dispatch::radius_type<br class="typebreak">
+&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt; G &gt;::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a>, <br class="typebreak">
+<a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a> &gt;::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::radius_type&lt; G &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00108">108</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="b95c57fb55a39b4b10e4d8da5754b671"></a><!-- doxytag: member="ggl::radius_type::rconst" ref="b95c57fb55a39b4b10e4d8da5754b671" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::remove_const&lt;G&gt;::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a> <a class="el" href="structggl_1_1radius__type.html">ggl::radius_type</a>&lt; G &gt;::<a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00110">110</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e37bf955b532d0501081d1abcdbdfb9c"></a><!-- doxytag: member="ggl::radius_type::type" ref="e37bf955b532d0501081d1abcdbdfb9c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef core_dispatch::radius_type&lt;typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt;G&gt;::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a>, <a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a>&gt;::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a> <a class="el" href="structggl_1_1radius__type.html">ggl::radius_type</a>&lt; G &gt;::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00111">111</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1replace__point__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1replace__point__type.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1replace__point__type.html">replace_point_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::replace_point_type&lt; Geometry, NewPointType &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::replace_point_type" --><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry, typename NewPointType&gt;<br>
+ struct ggl::replace_point_type&lt; Geometry, NewPointType &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="replace__point__type_8hpp_source.html#l00089">89</a> of file <a class="el" href="replace__point__type_8hpp_source.html">replace_point_type.hpp</a>.</p>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1reverse__dispatch.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1reverse__dispatch.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1reverse__dispatch.html">reverse_dispatch</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::reverse_dispatch&lt; Geometry1, Geometry2 &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::reverse_dispatch" --><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry1, typename Geometry2&gt;<br>
+ struct ggl::reverse_dispatch&lt; Geometry1, Geometry2 &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="reverse__dispatch_8hpp_source.html#l00051">51</a> of file <a class="el" href="reverse__dispatch_8hpp_source.html">reverse_dispatch.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1ring__tag.html">ring_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::ring_tag Struct Reference</h1><!-- doxytag: class="ggl::ring_tag" -->Convenience (linear) ring identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Convenience (linear) ring identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00051">51</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__type-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::ring_type&lt; Geometry &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1ring__type.html">ggl::ring_type&lt; Geometry &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1ring__type.html#9e7c22c3cd86a0d47f41e15c01b6a299">ncg</a> typedef</td><td><a class="el" href="structggl_1_1ring__type.html">ggl::ring_type&lt; Geometry &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">type</a> typedef</td><td><a class="el" href="structggl_1_1ring__type.html">ggl::ring_type&lt; Geometry &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1ring__type.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,140 @@
+<!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">
+&nbsp;&nbsp;
+</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_1ring__type.html">ring_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::ring_type&lt; Geometry &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::ring_type" -->Meta-function which defines ring type of (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> 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">
+&lt; Geometry &gt;::<a class="el" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ring__type.html#9e7c22c3cd86a0d47f41e15c01b6a299">ncg</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
+core_dispatch::ring_type<br class="typebreak">
+&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt; Geometry &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">type</a>, <a class="el" href="structggl_1_1ring__type.html#9e7c22c3cd86a0d47f41e15c01b6a299">ncg</a> &gt;::<a class="el" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::ring_type&lt; Geometry &gt;</h3>
+
+Meta-function which defines ring type of (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> geometry.
+<p>
+a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> contains one exterior ring and zero or more interior rings (holes). The type of those rings is assumed to be equal. This meta function retrieves the type of such rings. <dl compact><dt><b>Examples: </b></dt><dd>
+
+<p>
+<a class="el" href="03__polygon__example_8cpp-example.html#_a14">03_polygon_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="core_2ring__type_8hpp_source.html#l00082">82</a> of file <a class="el" href="core_2ring__type_8hpp_source.html">ring_type.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="9e7c22c3cd86a0d47f41e15c01b6a299"></a><!-- doxytag: member="ggl::ring_type::ncg" ref="9e7c22c3cd86a0d47f41e15c01b6a299" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::remove_const&lt;Geometry&gt;::<a class="el" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">type</a> <a class="el" href="structggl_1_1ring__type.html">ggl::ring_type</a>&lt; Geometry &gt;::<a class="el" href="structggl_1_1ring__type.html#9e7c22c3cd86a0d47f41e15c01b6a299">ncg</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="core_2ring__type_8hpp_source.html#l00084">84</a> of file <a class="el" href="core_2ring__type_8hpp_source.html">ring_type.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="1abf25579f5becec23712a15acd96fdc"></a><!-- doxytag: member="ggl::ring_type::type" ref="1abf25579f5becec23712a15acd96fdc" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef core_dispatch::ring_type&lt; typename <a class="el" href="structggl_1_1tag.html">tag</a>&lt;Geometry&gt;::<a class="el" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">type</a>, <a class="el" href="structggl_1_1ring__type.html#9e7c22c3cd86a0d47f41e15c01b6a299">ncg</a> &gt;::<a class="el" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">type</a> <a class="el" href="structggl_1_1ring__type.html">ggl::ring_type</a>&lt; Geometry &gt;::<a class="el" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="core_2ring__type_8hpp_source.html#l00088">88</a> of file <a class="el" href="core_2ring__type_8hpp_source.html">ring_type.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1section-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1section-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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::section&lt; Box, DimensionCount &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1section.html#fcde79e0f07f3744382e8ecbb6ceeaa3">begin_index</a></td><td><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1section.html#dbdec35a5e0878ecc3ac31d28dd12f6f">bounding_box</a></td><td><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1section.html#da71a242258d79119fb6df06d290095e">box_type</a> typedef</td><td><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1section.html#c53669933d966cf7c9c19b8376b5b731">count</a></td><td><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1section.html#685294c3e7107f87fcb7def9e2a6f430">directions</a></td><td><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1section.html#ef8836af463d9d92f0c2fc6bc4668f54">duplicate</a></td><td><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1section.html#22897e4894f0d4dcaa80f0ab30376c68">end_index</a></td><td><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1section.html#0403b41208359f079cf29876de56d182">multi_index</a></td><td><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1section.html#0d442355c8be6a391319da7699ba4055">non_duplicate_index</a></td><td><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1section.html#e8630665af85810bc73eaabbe8b8d1b5">range_count</a></td><td><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">ring_index</a></td><td><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1section.html#6b36770260c6a2c89a9a63fc641064c4">section</a>()</td><td><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1section.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1section.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,358 @@
+<!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">
+&nbsp;&nbsp;
+</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_1section.html">section</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::section&lt; Box, DimensionCount &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__sectionalize.html">sectionalize: split a geometry (polygon, linestring, etc)</a>]</small>
+</h1><!-- doxytag: class="ggl::section" -->Structure containing <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a> information.
+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 Box&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html#da71a242258d79119fb6df06d290095e">box_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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html#6b36770260c6a2c89a9a63fc641064c4">section</a> ()</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html#fcde79e0f07f3744382e8ecbb6ceeaa3">begin_index</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Box&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html#dbdec35a5e0878ecc3ac31d28dd12f6f">bounding_box</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">std::size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html#c53669933d966cf7c9c19b8376b5b731">count</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html#685294c3e7107f87fcb7def9e2a6f430">directions</a> [DimensionCount]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html#ef8836af463d9d92f0c2fc6bc4668f54">duplicate</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html#22897e4894f0d4dcaa80f0ab30376c68">end_index</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html#0403b41208359f079cf29876de56d182">multi_index</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html#0d442355c8be6a391319da7699ba4055">non_duplicate_index</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">std::size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html#e8630665af85810bc73eaabbe8b8d1b5">range_count</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">ring_index</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Box, std::size_t DimensionCount&gt;<br>
+ struct ggl::section&lt; Box, DimensionCount &gt;</h3>
+
+Structure containing <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a> information.
+<p>
+Section information consists of a bounding <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, direction information (if it is increasing or decreasing, per <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>), index information (begin-end, ring, multi) and the number of segments in this <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</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>Box</em>&nbsp;</td><td>box-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>DimensionCount</em>&nbsp;</td><td>number of dimensions for this <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a> </td></tr>
+ </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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="da71a242258d79119fb6df06d290095e"></a><!-- doxytag: member="ggl::section::box_type" ref="da71a242258d79119fb6df06d290095e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Box <a class="el" href="structggl_1_1section.html">ggl::section</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1section.html#da71a242258d79119fb6df06d290095e">box_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="6b36770260c6a2c89a9a63fc641064c4"></a><!-- doxytag: member="ggl::section::section" ref="6b36770260c6a2c89a9a63fc641064c4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1section.html">ggl::section</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1section.html">section</a> </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00077">77</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="685294c3e7107f87fcb7def9e2a6f430"></a><!-- doxytag: member="ggl::section::directions" ref="685294c3e7107f87fcb7def9e2a6f430" args="[DimensionCount]" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1section.html">ggl::section</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1section.html#685294c3e7107f87fcb7def9e2a6f430">directions</a>[DimensionCount] </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="fe6e8096e811d4248d64a0a4a9817edc"></a><!-- doxytag: member="ggl::section::ring_index" ref="fe6e8096e811d4248d64a0a4a9817edc" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1section.html">ggl::section</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">ring_index</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00065">65</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="0403b41208359f079cf29876de56d182"></a><!-- doxytag: member="ggl::section::multi_index" ref="0403b41208359f079cf29876de56d182" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1section.html">ggl::section</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1section.html#0403b41208359f079cf29876de56d182">multi_index</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="dbdec35a5e0878ecc3ac31d28dd12f6f"></a><!-- doxytag: member="ggl::section::bounding_box" ref="dbdec35a5e0878ecc3ac31d28dd12f6f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Box <a class="el" href="structggl_1_1section.html">ggl::section</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1section.html#dbdec35a5e0878ecc3ac31d28dd12f6f">bounding_box</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="fcde79e0f07f3744382e8ecbb6ceeaa3"></a><!-- doxytag: member="ggl::section::begin_index" ref="fcde79e0f07f3744382e8ecbb6ceeaa3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1section.html">ggl::section</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1section.html#fcde79e0f07f3744382e8ecbb6ceeaa3">begin_index</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="22897e4894f0d4dcaa80f0ab30376c68"></a><!-- doxytag: member="ggl::section::end_index" ref="22897e4894f0d4dcaa80f0ab30376c68" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1section.html">ggl::section</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1section.html#22897e4894f0d4dcaa80f0ab30376c68">end_index</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="c53669933d966cf7c9c19b8376b5b731"></a><!-- doxytag: member="ggl::section::count" ref="c53669933d966cf7c9c19b8376b5b731" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">std::size_t <a class="el" href="structggl_1_1section.html">ggl::section</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1section.html#c53669933d966cf7c9c19b8376b5b731">count</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="e8630665af85810bc73eaabbe8b8d1b5"></a><!-- doxytag: member="ggl::section::range_count" ref="e8630665af85810bc73eaabbe8b8d1b5" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">std::size_t <a class="el" href="structggl_1_1section.html">ggl::section</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1section.html#e8630665af85810bc73eaabbe8b8d1b5">range_count</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00072">72</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ef8836af463d9d92f0c2fc6bc4668f54"></a><!-- doxytag: member="ggl::section::duplicate" ref="ef8836af463d9d92f0c2fc6bc4668f54" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1section.html">ggl::section</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1section.html#ef8836af463d9d92f0c2fc6bc4668f54">duplicate</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00073">73</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="0d442355c8be6a391319da7699ba4055"></a><!-- doxytag: member="ggl::section::non_duplicate_index" ref="0d442355c8be6a391319da7699ba4055" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1section.html">ggl::section</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1section.html#0d442355c8be6a391319da7699ba4055">non_duplicate_index</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1sections-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1sections-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::sections&lt; Box, DimensionCount &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1sections.html">ggl::sections&lt; Box, DimensionCount &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1sections.html#9ad75a29e07d632e85847e4f206715ba">box_type</a> typedef</td><td><a class="el" href="structggl_1_1sections.html">ggl::sections&lt; Box, DimensionCount &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">value</a></td><td><a class="el" href="structggl_1_1sections.html">ggl::sections&lt; Box, DimensionCount &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1sections.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1sections.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1sections.html">sections</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::sections&lt; Box, DimensionCount &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__sectionalize.html">sectionalize: split a geometry (polygon, linestring, etc)</a>]</small>
+</h1><!-- doxytag: class="ggl::sections" --><!-- doxytag: inherits="std::vector" -->Structure containing a collection of <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>.
+More...
+<p>
+Inherits std::vector&lt;section&lt;Box, DimensionCount&gt; &gt;.
+<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 Box&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1sections.html#9ad75a29e07d632e85847e4f206715ba">box_type</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 std::size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">value</a> = DimensionCount</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Box, std::size_t DimensionCount&gt;<br>
+ struct ggl::sections&lt; Box, DimensionCount &gt;</h3>
+
+Structure containing a collection of <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>.
+<p>
+<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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="9ad75a29e07d632e85847e4f206715ba"></a><!-- doxytag: member="ggl::sections::box_type" ref="9ad75a29e07d632e85847e4f206715ba" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Box <a class="el" href="structggl_1_1sections.html">ggl::sections</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1sections.html#9ad75a29e07d632e85847e4f206715ba">box_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00105">105</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="1c9f89074b8fa60cc7c6e11ff323093e"></a><!-- doxytag: member="ggl::sections::value" ref="1c9f89074b8fa60cc7c6e11ff323093e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Box , std::size_t DimensionCount&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const std::size_t <a class="el" href="structggl_1_1sections.html">ggl::sections</a>&lt; Box, DimensionCount &gt;::<a class="el" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">value</a> = DimensionCount<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00106">106</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+
+</div>
+</div><p>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,73 @@
+<!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">
+&nbsp;&nbsp;
+</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::segment&lt; P &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1segment.html">ggl::segment&lt; P &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a></td><td><a class="el" href="structggl_1_1segment.html">ggl::segment&lt; P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment.html#47f8bba55326d5ae988dc3a5a9f146c7">point_type</a> typedef</td><td><a class="el" href="structggl_1_1segment.html">ggl::segment&lt; P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a></td><td><a class="el" href="structggl_1_1segment.html">ggl::segment&lt; P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment.html#e8e37a9f4eeacb317a1ce971da6cbd87">segment</a>(P &amp;p1, P &amp;p2)</td><td><a class="el" href="structggl_1_1segment.html">ggl::segment&lt; P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,199 @@
+<!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">
+&nbsp;&nbsp;
+</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_1segment.html">segment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::segment&lt; P &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::segment" -->Class <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>: small containing two (templatized) <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> references.
+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 P&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment.html#47f8bba55326d5ae988dc3a5a9f146c7">point_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment.html#e8e37a9f4eeacb317a1ce971da6cbd87">segment</a> (P &amp;p1, P &amp;p2)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">P &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">P &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::segment&lt; P &gt;</h3>
+
+Class <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>: small containing two (templatized) <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> references.
+<p>
+From Wikipedia: In geometry, a line <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> is a part of a line that is bounded by two distinct end points, and contains every <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> on the line between its end points. <dl class="note" compact><dt><b>Note:</b></dt><dd>The structure is like std::pair, and can often be used interchangeable. So points are public available. We cannot derive from std::pair&lt;P&amp;, P&amp;&gt; because of reference assignments. Points are not const and might be changed by the algorithm (used in intersection_linestring). </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>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of the <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+
+<p>
+<a class="el" href="02__linestring__example_8cpp-example.html#_a11">02_linestring_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="segment_8hpp_source.html#l00035">35</a> of file <a class="el" href="segment_8hpp_source.html">segment.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="47f8bba55326d5ae988dc3a5a9f146c7"></a><!-- doxytag: member="ggl::segment::point_type" ref="47f8bba55326d5ae988dc3a5a9f146c7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef P <a class="el" href="structggl_1_1segment.html">ggl::segment</a>&lt; P &gt;::<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="segment_8hpp_source.html#l00049">49</a> of file <a class="el" href="segment_8hpp_source.html">segment.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="e8e37a9f4eeacb317a1ce971da6cbd87"></a><!-- doxytag: member="ggl::segment::segment" ref="e8e37a9f4eeacb317a1ce971da6cbd87" args="(P &amp;p1, P &amp;p2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1segment.html">ggl::segment</a>&lt; P &gt;::<a class="el" href="structggl_1_1segment.html">segment</a> </td>
+ <td>(</td>
+ <td class="paramtype">P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="segment_8hpp_source.html#l00054">54</a> of file <a class="el" href="segment_8hpp_source.html">segment.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="3f8aa8a3542ebf499e4987ef3ccfd5b1"></a><!-- doxytag: member="ggl::segment::first" ref="3f8aa8a3542ebf499e4987ef3ccfd5b1" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">P&amp; <a class="el" href="structggl_1_1segment.html">ggl::segment</a>&lt; P &gt;::<a class="el" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment_8hpp_source.html#l00051">51</a> of file <a class="el" href="segment_8hpp_source.html">segment.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e5aea8fdfbd0e0dece9b227a8a5cec33"></a><!-- doxytag: member="ggl::segment::second" ref="e5aea8fdfbd0e0dece9b227a8a5cec33" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">P&amp; <a class="el" href="structggl_1_1segment.html">ggl::segment</a>&lt; P &gt;::<a class="el" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment_8hpp_source.html#l00052">52</a> of file <a class="el" href="segment_8hpp_source.html">segment.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__identifier-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__identifier-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,77 @@
+<!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">
+&nbsp;&nbsp;
+</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::segment_identifier Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1segment__identifier.html">ggl::segment_identifier</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a></td><td><a class="el" href="structggl_1_1segment__identifier.html">ggl::segment_identifier</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__identifier.html#f8c4506cd779593ac4e369b96927123c">operator&lt;</a>(segment_identifier const &amp;other) const </td><td><a class="el" href="structggl_1_1segment__identifier.html">ggl::segment_identifier</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__identifier.html#fcb85b5b91f3c3b9fb67ef8851a154eb">operator==</a>(segment_identifier const &amp;other) const </td><td><a class="el" href="structggl_1_1segment__identifier.html">ggl::segment_identifier</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a></td><td><a class="el" href="structggl_1_1segment__identifier.html">ggl::segment_identifier</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__identifier.html#eacab9f8a085d618b6259cc5233e65b0">segment_identifier</a>()</td><td><a class="el" href="structggl_1_1segment__identifier.html">ggl::segment_identifier</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__identifier.html#234763767167c7173155b563fc4586d1">segment_identifier</a>(int src, int mul, int rin, int seg)</td><td><a class="el" href="structggl_1_1segment__identifier.html">ggl::segment_identifier</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">segment_index</a></td><td><a class="el" href="structggl_1_1segment__identifier.html">ggl::segment_identifier</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a></td><td><a class="el" href="structggl_1_1segment__identifier.html">ggl::segment_identifier</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__identifier.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__identifier.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,275 @@
+<!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">
+&nbsp;&nbsp;
+</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_1segment__identifier.html">segment_identifier</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::segment_identifier Struct Reference</h1><!-- doxytag: class="ggl::segment_identifier" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__identifier.html#f8c4506cd779593ac4e369b96927123c">operator&lt;</a> (<a class="el" href="structggl_1_1segment__identifier.html">segment_identifier</a> const &amp;other) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__identifier.html#fcb85b5b91f3c3b9fb67ef8851a154eb">operator==</a> (<a class="el" href="structggl_1_1segment__identifier.html">segment_identifier</a> const &amp;other) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__identifier.html#234763767167c7173155b563fc4586d1">segment_identifier</a> (int src, int mul, int rin, int seg)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__identifier.html#eacab9f8a085d618b6259cc5233e65b0">segment_identifier</a> ()</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">multi_index</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ring_index</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">segment_index</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">source_index</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+
+<p>Definition at line <a class="el" href="segment__identifier_8hpp_source.html#l00029">29</a> of file <a class="el" href="segment__identifier_8hpp_source.html">segment_identifier.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="eacab9f8a085d618b6259cc5233e65b0"></a><!-- doxytag: member="ggl::segment_identifier::segment_identifier" ref="eacab9f8a085d618b6259cc5233e65b0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ggl::segment_identifier::segment_identifier </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__identifier_8hpp_source.html#l00031">31</a> of file <a class="el" href="segment__identifier_8hpp_source.html">segment_identifier.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="234763767167c7173155b563fc4586d1"></a><!-- doxytag: member="ggl::segment_identifier::segment_identifier" ref="234763767167c7173155b563fc4586d1" args="(int src, int mul, int rin, int seg)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ggl::segment_identifier::segment_identifier </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>src</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>mul</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>rin</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>seg</em></td><td>&nbsp;</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="segment__identifier_8hpp_source.html#l00038">38</a> of file <a class="el" href="segment__identifier_8hpp_source.html">segment_identifier.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="f8c4506cd779593ac4e369b96927123c"></a><!-- doxytag: member="ggl::segment_identifier::operator&lt;" ref="f8c4506cd779593ac4e369b96927123c" args="(segment_identifier const &amp;other) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::segment_identifier::operator&lt; </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1segment__identifier.html">segment_identifier</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__identifier_8hpp_source.html#l00045">45</a> of file <a class="el" href="segment__identifier_8hpp_source.html">segment_identifier.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="fcb85b5b91f3c3b9fb67ef8851a154eb"></a><!-- doxytag: member="ggl::segment_identifier::operator==" ref="fcb85b5b91f3c3b9fb67ef8851a154eb" args="(segment_identifier const &amp;other) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ggl::segment_identifier::operator== </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1segment__identifier.html">segment_identifier</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__identifier_8hpp_source.html#l00054">54</a> of file <a class="el" href="segment__identifier_8hpp_source.html">segment_identifier.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="e1fe3185627380d9191cc1833d288983"></a><!-- doxytag: member="ggl::segment_identifier::source_index" ref="e1fe3185627380d9191cc1833d288983" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">ggl::segment_identifier::source_index</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__identifier_8hpp_source.html#l00076">76</a> of file <a class="el" href="segment__identifier_8hpp_source.html">segment_identifier.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="46efddd6572f9ca06ce1a3b17759fc13"></a><!-- doxytag: member="ggl::segment_identifier::multi_index" ref="46efddd6572f9ca06ce1a3b17759fc13" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1segment__identifier.html#46efddd6572f9ca06ce1a3b17759fc13">ggl::segment_identifier::multi_index</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__identifier_8hpp_source.html#l00077">77</a> of file <a class="el" href="segment__identifier_8hpp_source.html">segment_identifier.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e5b07896d34536e81448435af4d56112"></a><!-- doxytag: member="ggl::segment_identifier::ring_index" ref="e5b07896d34536e81448435af4d56112" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ggl::segment_identifier::ring_index</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__identifier_8hpp_source.html#l00078">78</a> of file <a class="el" href="segment__identifier_8hpp_source.html">segment_identifier.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="14d64f12f554606870c971160a76415b"></a><!-- doxytag: member="ggl::segment_identifier::segment_index" ref="14d64f12f554606870c971160a76415b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">ggl::segment_identifier::segment_index</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__identifier_8hpp_source.html#l00079">79</a> of file <a class="el" href="segment__identifier_8hpp_source.html">segment_identifier.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__intersection__points-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__intersection__points-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</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::segment_intersection_points&lt; P &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1segment__intersection__points.html">ggl::segment_intersection_points&lt; P &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__intersection__points.html#a1ecc423597a6f800f82f1ab092bd346">count</a></td><td><a class="el" href="structggl_1_1segment__intersection__points.html">ggl::segment_intersection_points&lt; P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__intersection__points.html#94698ff4d23a90f0289a369e4d617d06">intersections</a></td><td><a class="el" href="structggl_1_1segment__intersection__points.html">ggl::segment_intersection_points&lt; P &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__intersection__points.html#ebb3f0ded51caefcde6f8e2fddb16c92">segment_intersection_points</a>()</td><td><a class="el" href="structggl_1_1segment__intersection__points.html">ggl::segment_intersection_points&lt; P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__intersection__points.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__intersection__points.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,152 @@
+<!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">
+&nbsp;&nbsp;
+</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_1segment__intersection__points.html">segment_intersection_points</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::segment_intersection_points&lt; P &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::segment_intersection_points" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__intersection__points.html#ebb3f0ded51caefcde6f8e2fddb16c92">segment_intersection_points</a> ()</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__intersection__points.html#a1ecc423597a6f800f82f1ab092bd346">count</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">P&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__intersection__points.html#94698ff4d23a90f0289a369e4d617d06">intersections</a> [2]</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::segment_intersection_points&lt; P &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00154">154</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="ebb3f0ded51caefcde6f8e2fddb16c92"></a><!-- doxytag: member="ggl::segment_intersection_points::segment_intersection_points" ref="ebb3f0ded51caefcde6f8e2fddb16c92" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1segment__intersection__points.html">ggl::segment_intersection_points</a>&lt; P &gt;::<a class="el" href="structggl_1_1segment__intersection__points.html">segment_intersection_points</a> </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00159">159</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="a1ecc423597a6f800f82f1ab092bd346"></a><!-- doxytag: member="ggl::segment_intersection_points::count" ref="a1ecc423597a6f800f82f1ab092bd346" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structggl_1_1segment__intersection__points.html">ggl::segment_intersection_points</a>&lt; P &gt;::<a class="el" href="structggl_1_1segment__intersection__points.html#a1ecc423597a6f800f82f1ab092bd346">count</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00156">156</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="94698ff4d23a90f0289a369e4d617d06"></a><!-- doxytag: member="ggl::segment_intersection_points::intersections" ref="94698ff4d23a90f0289a369e4d617d06" args="[2]" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">P <a class="el" href="structggl_1_1segment__intersection__points.html">ggl::segment_intersection_points</a>&lt; P &gt;::<a class="el" href="structggl_1_1segment__intersection__points.html#94698ff4d23a90f0289a369e4d617d06">intersections</a>[2] </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__result_8hpp_source.html#l00157">157</a> of file <a class="el" href="intersection__result_8hpp_source.html">intersection_result.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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::segment_iterator&lt; Base, Point &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>() const </td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#2670ce6fa8403a2da8b1b79c9a62ef47">base_type</a> typedef</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#e3d45134f345df9ec7aa89f8e2e95bdf">difference_type</a> typedef</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#8f0ff7afda611c09fb9df03c70c99d76">iterator_category</a> typedef</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">operator*</a>()</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#2f1e23e907229c052a65e8b9b6be6ef0">operator++</a>()</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#63c6edf091022da4e2afee8d395eeeaa">operator++</a>(int)</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#2b2dfc371bc599e81a16671a83fc16de">operator-&gt;</a>()</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#e388acc7d123761a41a0132ed0b19d29">point_type</a> typedef</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#fe664c6678e12e841a1c0be1e77e53a0">pointer</a> typedef</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#71b04f78cf84d967d8d11ec092d54dcc">reference</a> typedef</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#64fa7cd0ce95c704f4a40bdc914cffbb">segment_iterator</a>(Base const &amp;end)</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#44f6909b510f65b300fa9ae0fa473b2c">segment_iterator</a>(Base const &amp;it, Base const &amp;end)</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#410f1a0aa22f7f4fb6c0850213aba66d">segment_type</a> typedef</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1segment__iterator.html#e7521e2f53256bf6bd96b99079c92b4f">value_type</a> typedef</td><td><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,442 @@
+<!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">
+&nbsp;&nbsp;
+</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_1segment__iterator.html">segment_iterator</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::segment_iterator&lt; Base, Point &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::segment_iterator" -->
+<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 Base&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#2670ce6fa8403a2da8b1b79c9a62ef47">base_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::iterator_traits<br class="typebreak">
+&lt; Base &gt;::<a class="el" href="structggl_1_1segment__iterator.html#e3d45134f345df9ec7aa89f8e2e95bdf">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#e3d45134f345df9ec7aa89f8e2e95bdf">difference_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::input_iterator_tag&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#8f0ff7afda611c09fb9df03c70c99d76">iterator_category</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Point&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#e388acc7d123761a41a0132ed0b19d29">point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1segment.html">segment_type</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#fe664c6678e12e841a1c0be1e77e53a0">pointer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1segment.html">segment_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#71b04f78cf84d967d8d11ec092d54dcc">reference</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1segment.html">ggl::segment</a>&lt; Point &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#410f1a0aa22f7f4fb6c0850213aba66d">segment_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1segment.html">segment_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#e7521e2f53256bf6bd96b99079c92b4f">value_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">Base const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1segment.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">operator*</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#63c6edf091022da4e2afee8d395eeeaa">operator++</a> (int)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#2f1e23e907229c052a65e8b9b6be6ef0">operator++</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1segment.html">pointer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#2b2dfc371bc599e81a16671a83fc16de">operator-&gt;</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#44f6909b510f65b300fa9ae0fa473b2c">segment_iterator</a> (Base const &amp;it, Base const &amp;end)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__iterator.html#64fa7cd0ce95c704f4a40bdc914cffbb">segment_iterator</a> (Base const &amp;end)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Base, typename Point&gt;<br>
+ struct ggl::segment_iterator&lt; Base, Point &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00033">33</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="2670ce6fa8403a2da8b1b79c9a62ef47"></a><!-- doxytag: member="ggl::segment_iterator::base_type" ref="2670ce6fa8403a2da8b1b79c9a62ef47" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Base <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::<a class="el" href="structggl_1_1segment__iterator.html#2670ce6fa8403a2da8b1b79c9a62ef47">base_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00035">35</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e388acc7d123761a41a0132ed0b19d29"></a><!-- doxytag: member="ggl::segment_iterator::point_type" ref="e388acc7d123761a41a0132ed0b19d29" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::<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="segment__iterator_8hpp_source.html#l00036">36</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="410f1a0aa22f7f4fb6c0850213aba66d"></a><!-- doxytag: member="ggl::segment_iterator::segment_type" ref="410f1a0aa22f7f4fb6c0850213aba66d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1segment.html">ggl::segment</a>&lt;Point&gt; <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::<a class="el" href="structggl_1_1segment.html">segment_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00037">37</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="8f0ff7afda611c09fb9df03c70c99d76"></a><!-- doxytag: member="ggl::segment_iterator::iterator_category" ref="8f0ff7afda611c09fb9df03c70c99d76" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef std::input_iterator_tag <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::<a class="el" href="structggl_1_1segment__iterator.html#8f0ff7afda611c09fb9df03c70c99d76">iterator_category</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00039">39</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e3d45134f345df9ec7aa89f8e2e95bdf"></a><!-- doxytag: member="ggl::segment_iterator::difference_type" ref="e3d45134f345df9ec7aa89f8e2e95bdf" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef std::iterator_traits&lt;Base&gt;::<a class="el" href="structggl_1_1segment__iterator.html#e3d45134f345df9ec7aa89f8e2e95bdf">difference_type</a> <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::<a class="el" href="structggl_1_1segment__iterator.html#e3d45134f345df9ec7aa89f8e2e95bdf">difference_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00040">40</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e7521e2f53256bf6bd96b99079c92b4f"></a><!-- doxytag: member="ggl::segment_iterator::value_type" ref="e7521e2f53256bf6bd96b99079c92b4f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1segment.html">segment_type</a> <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::<a class="el" href="structggl_1_1segment.html">value_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00041">41</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="fe664c6678e12e841a1c0be1e77e53a0"></a><!-- doxytag: member="ggl::segment_iterator::pointer" ref="fe664c6678e12e841a1c0be1e77e53a0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1segment.html">segment_type</a>* <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::<a class="el" href="structggl_1_1segment.html">pointer</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00042">42</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="71b04f78cf84d967d8d11ec092d54dcc"></a><!-- doxytag: member="ggl::segment_iterator::reference" ref="71b04f78cf84d967d8d11ec092d54dcc" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1segment.html">segment_type</a>&amp; <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::<a class="el" href="structggl_1_1segment.html">reference</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00043">43</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="64fa7cd0ce95c704f4a40bdc914cffbb"></a><!-- doxytag: member="ggl::segment_iterator::segment_iterator" ref="64fa7cd0ce95c704f4a40bdc914cffbb" args="(Base const &amp;end)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::<a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a> </td>
+ <td>(</td>
+ <td class="paramtype">Base const &amp;&nbsp;</td>
+ <td class="paramname"> <em>end</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00045">45</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="44f6909b510f65b300fa9ae0fa473b2c"></a><!-- doxytag: member="ggl::segment_iterator::segment_iterator" ref="44f6909b510f65b300fa9ae0fa473b2c" args="(Base const &amp;it, Base const &amp;end)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::<a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a> </td>
+ <td>(</td>
+ <td class="paramtype">Base const &amp;&nbsp;</td>
+ <td class="paramname"> <em>it</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Base const &amp;&nbsp;</td>
+ <td class="paramname"> <em>end</em></td><td>&nbsp;</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="segment__iterator_8hpp_source.html#l00055">55</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="5f87341660aa48a2807c5d1a1392f4c2"></a><!-- doxytag: member="ggl::segment_iterator::operator*" ref="5f87341660aa48a2807c5d1a1392f4c2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1segment.html">reference</a> <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::operator* </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="2b2dfc371bc599e81a16671a83fc16de"></a><!-- doxytag: member="ggl::segment_iterator::operator&#45;&gt;" ref="2b2dfc371bc599e81a16671a83fc16de" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1segment.html">pointer</a> <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::operator-&gt; </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="2f1e23e907229c052a65e8b9b6be6ef0"></a><!-- doxytag: member="ggl::segment_iterator::operator++" ref="2f1e23e907229c052a65e8b9b6be6ef0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a>&amp; <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::operator++ </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="63c6edf091022da4e2afee8d395eeeaa"></a><!-- doxytag: member="ggl::segment_iterator::operator++" ref="63c6edf091022da4e2afee8d395eeeaa" args="(int)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a> <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::operator++ </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="932c0212e2ba798d82d4484c2278150a"></a><!-- doxytag: member="ggl::segment_iterator::base" ref="932c0212e2ba798d82d4484c2278150a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Base, typename Point&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">Base const&amp; <a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator</a>&lt; Base, Point &gt;::base </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1segment__tag.html">segment_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::segment_tag Struct Reference</h1><!-- doxytag: class="ggl::segment_tag" -->Convenience <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Convenience <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
+<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00060">60</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__coordinate__type-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__coordinate__type-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::select_coordinate_type&lt; T1, T2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1select__coordinate__type.html">ggl::select_coordinate_type&lt; T1, T2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">type</a> typedef</td><td><a class="el" href="structggl_1_1select__coordinate__type.html">ggl::select_coordinate_type&lt; T1, T2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__coordinate__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__coordinate__type.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::select_coordinate_type&lt; T1, T2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__utility.html">utility: utilities</a>]</small>
+</h1><!-- doxytag: class="ggl::select_coordinate_type" -->Utility selecting the most precise coordinate type of two geometries.
+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_1select__most__precise.html">select_most_precise</a><br class="typebreak">
+&lt; typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; T1 &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">type</a>, typename <br class="typebreak">
+<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; T2 &gt;::<a class="el" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">type</a> &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T1, typename T2&gt;<br>
+ struct ggl::select_coordinate_type&lt; T1, T2 &gt;</h3>
+
+Utility selecting the most precise coordinate type of two geometries.
+<p>Definition at line <a class="el" href="select__coordinate__type_8hpp_source.html#l00029">29</a> of file <a class="el" href="select__coordinate__type_8hpp_source.html">select_coordinate_type.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="426688c132982dabdbdd4213bf9f3cfd"></a><!-- doxytag: member="ggl::select_coordinate_type::type" ref="426688c132982dabdbdd4213bf9f3cfd" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T1, typename T2&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__most__precise.html">select_most_precise</a>&lt; typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt;T1&gt;::<a class="el" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">type</a>, typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt;T2&gt;::<a class="el" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">type</a> &gt;::<a class="el" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">type</a> <a class="el" href="structggl_1_1select__coordinate__type.html">ggl::select_coordinate_type</a>&lt; T1, T2 &gt;::<a class="el" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="select__coordinate__type_8hpp_source.html#l00035">35</a> of file <a class="el" href="select__coordinate__type_8hpp_source.html">select_coordinate_type.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__most__precise-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__most__precise-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,73 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::select_most_precise&lt; T1, T2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise&lt; T1, T2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1select__most__precise.html#606ead26747f5bc9bb5ec53248fd61f7">both_same</a></td><td><a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise&lt; T1, T2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1select__most__precise.html#2da9be6ed1e727dadb061da08e0576c2">one_not_fundamental</a></td><td><a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise&lt; T1, T2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1select__most__precise.html#0d0774307858675158899fb96abd12ec">second_larger</a></td><td><a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise&lt; T1, T2 &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</a> typedef</td><td><a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise&lt; T1, T2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__most__precise.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__most__precise.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="structggl_1_1select__most__precise.html">select_most_precise</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::select_most_precise&lt; T1, T2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__utility.html">utility: utilities</a>]</small>
+</h1><!-- doxytag: class="ggl::select_most_precise" -->Traits class to select, of two types, the most accurate type for calculations.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::mpl::if_c<br class="typebreak">
+&lt; <a class="el" href="structggl_1_1select__most__precise.html#2da9be6ed1e727dadb061da08e0576c2">one_not_fundamental</a>, <br class="typebreak">
+typename <br class="typebreak">
+detail::select_most_precise::select_non_fundamental<br class="typebreak">
+&lt; boost::is_fundamental&lt; T1 &gt;<br class="typebreak">
+::type::value, <br class="typebreak">
+boost::is_fundamental&lt; T2 &gt;<br class="typebreak">
+::type::value, T1, T2 &gt;::<a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</a>, <br class="typebreak">
+typename boost::mpl::if_c<br class="typebreak">
+&lt; <a class="el" href="structggl_1_1select__most__precise.html#606ead26747f5bc9bb5ec53248fd61f7">both_same</a>, typename <br class="typebreak">
+detail::select_most_precise::select_largest<br class="typebreak">
+&lt; <a class="el" href="structggl_1_1select__most__precise.html#0d0774307858675158899fb96abd12ec">second_larger</a>, T1, T2 &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</a>, typename <br class="typebreak">
+detail::select_most_precise::select_floating_point<br class="typebreak">
+&lt; boost::is_floating_point&lt; T1 &gt;<br class="typebreak">
+::type::value, <br class="typebreak">
+boost::is_floating_point&lt; T2 &gt;<br class="typebreak">
+::type::value, T1, T2 &gt;::<a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</a> &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</a> &gt;::<a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</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 bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__most__precise.html#606ead26747f5bc9bb5ec53248fd61f7">both_same</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__most__precise.html#2da9be6ed1e727dadb061da08e0576c2">one_not_fundamental</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__most__precise.html#0d0774307858675158899fb96abd12ec">second_larger</a> = sizeof(T2) &gt; sizeof(T1)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T1, typename T2&gt;<br>
+ struct ggl::select_most_precise&lt; T1, T2 &gt;</h3>
+
+Traits class to select, of two types, the most accurate type for calculations.
+<p>
+<a class="el" href="structggl_1_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise</a> classes, compares two types on compile time. For example, if an addition must be done with a double and an integer, the result must be a double. If both types are integer, the result can be an integer. <dl class="note" compact><dt><b>Note:</b></dt><dd>It is different from the "promote" class, already in boost. That class promotes e.g. a (one) float to a double. This class selects a type from two types. It takes the most accurate, but does not promote afterwards. <p>
+This <a class="el" href="namespaceggl_1_1traits.html">traits</a> class is completely independant from GGL and might be a separate (small) library in Boost <p>
+If the input is a non-fundamental type, it might be a calculation type such as a GMP-value or another high precision value. Therefore, if one is non-fundamental, that one is chosen. <p>
+If both types are non-fundamental, the result is indeterminate and currently the first one is chosen. </dd></dl>
+
+<p>Definition at line <a class="el" href="select__most__precise_8hpp_source.html#l00115">115</a> of file <a class="el" href="select__most__precise_8hpp_source.html">select_most_precise.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="33488f6df9f15b8943a95e081a2600d9"></a><!-- doxytag: member="ggl::select_most_precise::type" ref="33488f6df9f15b8943a95e081a2600d9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T1, typename T2&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::mpl::if_c&lt; <a class="el" href="structggl_1_1select__most__precise.html#2da9be6ed1e727dadb061da08e0576c2">one_not_fundamental</a>, typename detail::select_most_precise::select_non_fundamental &lt; boost::is_fundamental&lt;T1&gt;::type::value, boost::is_fundamental&lt;T2&gt;::type::value, T1, T2 &gt;::<a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</a>, typename boost::mpl::if_c &lt; <a class="el" href="structggl_1_1select__most__precise.html#606ead26747f5bc9bb5ec53248fd61f7">both_same</a>, typename detail::select_most_precise::select_largest &lt; <a class="el" href="structggl_1_1select__most__precise.html#0d0774307858675158899fb96abd12ec">second_larger</a>, T1, T2 &gt;::<a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</a>, typename detail::select_most_precise::select_floating_point &lt; boost::is_floating_point&lt;T1&gt;::type::value, boost::is_floating_point&lt
;T2&gt;::type::value, T1, T2 &gt;::<a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</a> &gt;::<a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</a> &gt;::<a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</a> <a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise</a>&lt; T1, T2 &gt;::<a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="select__most__precise_8hpp_source.html#l00153">153</a> of file <a class="el" href="select__most__precise_8hpp_source.html">select_most_precise.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="0d0774307858675158899fb96abd12ec"></a><!-- doxytag: member="ggl::select_most_precise::second_larger" ref="0d0774307858675158899fb96abd12ec" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T1, typename T2&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool <a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise</a>&lt; T1, T2 &gt;::<a class="el" href="structggl_1_1select__most__precise.html#0d0774307858675158899fb96abd12ec">second_larger</a> = sizeof(T2) &gt; sizeof(T1)<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="select__most__precise_8hpp_source.html#l00117">117</a> of file <a class="el" href="select__most__precise_8hpp_source.html">select_most_precise.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2da9be6ed1e727dadb061da08e0576c2"></a><!-- doxytag: member="ggl::select_most_precise::one_not_fundamental" ref="2da9be6ed1e727dadb061da08e0576c2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T1, typename T2&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool <a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise</a>&lt; T1, T2 &gt;::<a class="el" href="structggl_1_1select__most__precise.html#2da9be6ed1e727dadb061da08e0576c2">one_not_fundamental</a><code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Initial value:</b><div class="fragment"><pre class="fragment"> !
+ (boost::is_fundamental&lt;T1&gt;::type::value
+ &amp;&amp; boost::is_fundamental&lt;T2&gt;::type::value)
+</pre></div>
+<p>Definition at line <a class="el" href="select__most__precise_8hpp_source.html#l00118">118</a> of file <a class="el" href="select__most__precise_8hpp_source.html">select_most_precise.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="606ead26747f5bc9bb5ec53248fd61f7"></a><!-- doxytag: member="ggl::select_most_precise::both_same" ref="606ead26747f5bc9bb5ec53248fd61f7" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T1, typename T2&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool <a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise</a>&lt; T1, T2 &gt;::<a class="el" href="structggl_1_1select__most__precise.html#606ead26747f5bc9bb5ec53248fd61f7">both_same</a><code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Initial value:</b><div class="fragment"><pre class="fragment">
+ boost::is_floating_point&lt;T1&gt;::type::value
+ == boost::is_floating_point&lt;T2&gt;::type::value
+</pre></div>
+<p>Definition at line <a class="el" href="select__most__precise_8hpp_source.html#l00122">122</a> of file <a class="el" href="select__most__precise_8hpp_source.html">select_most_precise.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1spherical__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1spherical__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1spherical__tag.html">spherical_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::spherical_tag Struct Reference</h1><!-- doxytag: class="ggl::spherical_tag" -->Tag indicating Spherical coordinate system family (spherical,celestial,...).
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Tag indicating Spherical coordinate system family (spherical,celestial,...).
+<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00032">32</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1euclidian-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1euclidian-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::compare::euclidian&lt; P, D &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">ggl::strategy::compare::euclidian&lt; P, D &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#2348861bfb7eee153354bb81e633ea3a">larger</a>(const P &amp;p1, const P &amp;p2)</td><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">ggl::strategy::compare::euclidian&lt; P, D &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#69e12a7cd92180445c9d6b293a808059">smaller</a>(const P &amp;p1, const P &amp;p2)</td><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">ggl::strategy::compare::euclidian&lt; P, D &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1euclidian.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1compare_1_1euclidian.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1compare.html">compare</a>::<a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">euclidian</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::compare::euclidian&lt; P, D &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::compare::euclidian" -->Compare (in one direction) <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for cartesian coordinates.
+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 Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#2348861bfb7eee153354bb81e633ea3a">larger</a> (const P &amp;p1, const P &amp;p2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#69e12a7cd92180445c9d6b293a808059">smaller</a> (const P &amp;p1, const P &amp;p2)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, size_t D&gt;<br>
+ struct ggl::strategy::compare::euclidian&lt; P, D &gt;</h3>
+
+Compare (in one direction) <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for cartesian coordinates.
+<p>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>point-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>D</em>&nbsp;</td><td><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> </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="cart__compare_8hpp_source.html#l00035">35</a> of file <a class="el" href="cart__compare_8hpp_source.html">cart_compare.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="69e12a7cd92180445c9d6b293a808059"></a><!-- doxytag: member="ggl::strategy::compare::euclidian::smaller" ref="69e12a7cd92180445c9d6b293a808059" args="(const P &amp;p1, const P &amp;p2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , size_t D&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">ggl::strategy::compare::euclidian</a>&lt; P, D &gt;::smaller </td>
+ <td>(</td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="cart__compare_8hpp_source.html#l00037">37</a> of file <a class="el" href="cart__compare_8hpp_source.html">cart_compare.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2348861bfb7eee153354bb81e633ea3a"></a><!-- doxytag: member="ggl::strategy::compare::euclidian::larger" ref="2348861bfb7eee153354bb81e633ea3a" args="(const P &amp;p1, const P &amp;p2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , size_t D&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">ggl::strategy::compare::euclidian</a>&lt; P, D &gt;::larger </td>
+ <td>(</td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="cart__compare_8hpp_source.html#l00042">42</a> of file <a class="el" href="cart__compare_8hpp_source.html">cart_compare.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,72 @@
+<!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">
+&nbsp;&nbsp;
+</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::pythagoras&lt; P1, P2, CalculationType &gt; 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&lt; P1, P2, CalculationType &gt;</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&lt; P1, P2, CalculationType &gt;</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 &amp;p1, P2 const &amp;p2) const </td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras&lt; P1, P2, CalculationType &gt;</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&lt; P1, P2, CalculationType &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,186 @@
+<!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">
+&nbsp;&nbsp;
+</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="structggl_1_1strategy_1_1distance_1_1pythagoras.html">pythagoras</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::distance::pythagoras&lt; P1, P2, CalculationType &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance calculation</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::distance::pythagoras" -->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>.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::mpl::if_c<br class="typebreak">
+&lt; boost::is_void<br class="typebreak">
+&lt; CalculationType &gt;<br class="typebreak">
+::type::value, typename <br class="typebreak">
+<a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt; P1, P2 &gt;<br class="typebreak">
+::type, CalculationType &gt;<br class="typebreak">
+::type&nbsp;</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 <a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a><br class="typebreak">
+&lt; <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc86abbd7440ed39ba7e78d40c304e6b">calculation_type</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">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"><a class="el" href="structggl_1_1cartesian__distance.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#da96ada6f45642ee8e773e660cf6fb1a">operator()</a> (P1 const &amp;p1, P2 const &amp;p2) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2 = P1, typename CalculationType = void&gt;<br>
+ struct ggl::strategy::distance::pythagoras&lt; P1, P2, CalculationType &gt;</h3>
+
+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>.
+<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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>optional, second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type, defaults to first <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type </td></tr>
+ </table>
+</dl>
+<dl class="user" compact><dt><b>Concepts for P1 and P2:</b></dt><dd><ul>
+<li>specialized point_traits class </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00079">79</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="bc86abbd7440ed39ba7e78d40c304e6b"></a><!-- doxytag: member="ggl::strategy::distance::pythagoras::calculation_type" ref="bc86abbd7440ed39ba7e78d40c304e6b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 = P1, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::mpl::if_c&lt; boost::is_void&lt;CalculationType&gt;::type::value, typename <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a> &lt; P1, P2 &gt;::type, CalculationType &gt;::type <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras</a>&lt; P1, P2, CalculationType &gt;::<a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc86abbd7440ed39ba7e78d40c304e6b">calculation_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00091">91</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">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 = P1, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a>&lt;<a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc86abbd7440ed39ba7e78d40c304e6b">calculation_type</a>&gt; <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras</a>&lt; P1, P2, CalculationType &gt;::<a class="el" href="structggl_1_1cartesian__distance.html">return_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>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="da96ada6f45642ee8e773e660cf6fb1a"></a><!-- doxytag: member="ggl::strategy::distance::pythagoras::operator()" ref="da96ada6f45642ee8e773e660cf6fb1a" args="(P1 const &amp;p1, P2 const &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 = P1, typename CalculationType = void&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1cartesian__distance.html">return_type</a> <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras</a>&lt; P1, P2, CalculationType &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">P1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P2 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00096">96</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::xy_point_segment&lt; P, Segment, Strategy &gt; 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&lt; P, Segment, Strategy &gt;</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&lt; P, Segment, Strategy &gt;</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&lt; P, Segment, Strategy &gt;</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 &amp;p, Segment const &amp;s) const </td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</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&lt; P, Segment, Strategy &gt;</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&lt; P, Segment, Strategy &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,225 @@
+<!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">
+&nbsp;&nbsp;
+</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="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">xy_point_segment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance calculation</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::distance::xy_point_segment" -->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="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; P, Segment &gt;::type&nbsp;</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&nbsp;</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&nbsp;</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 <a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a><br class="typebreak">
+&lt; <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> &gt;&nbsp;</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>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1cartesian__distance.html">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#7bbdf22f4985080ce60b2efcbf67352b">operator()</a> (P const &amp;p, Segment const &amp;s) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, typename Segment, typename Strategy = pythagoras&lt;P, typename point_type&lt;Segment&gt;::type&gt;&gt;<br>
+ struct ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</h3>
+
+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="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>.
+<p>
+Calculates <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> using projected-point method, and (optionally) Pythagoras <dl class="author" compact><dt><b>Author:</b></dt><dd>Adapted from: http://geometryalgorithms.com/Archive/algorithm_0102/algorithm_0102.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>&nbsp;</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>SEG</em>&nbsp;</td><td><a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>S</em>&nbsp;</td><td><a class="el" href="namespaceggl_1_1strategy.html">strategy</a>, optional, defaults to <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html" title="Strategy for distance point to point: pythagoras.">pythagoras</a> </td></tr>
+ </table>
+</dl>
+<dl class="user" compact><dt><b>Concepts for S:</b></dt><dd><ul>
+<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>
+<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="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename Segment , typename Strategy = pythagoras&lt;P, typename point_type&lt;Segment&gt;::type&gt;&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;P, Segment&gt;::type <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment</a>&lt; P, Segment, Strategy &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00136">136</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="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename Segment , typename Strategy = pythagoras&lt;P, typename point_type&lt;Segment&gt;::type&gt;&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a>&lt;<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&gt; <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment</a>&lt; P, Segment, Strategy &gt;::<a class="el" href="structggl_1_1cartesian__distance.html">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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="2e1bc521c8c39e2dfcbf4724df4f8b58"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::distance_strategy_type" ref="2e1bc521c8c39e2dfcbf4724df4f8b58" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename Segment , typename Strategy = pythagoras&lt;P, typename point_type&lt;Segment&gt;::type&gt;&gt; </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>&lt; P, Segment, Strategy &gt;::<a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#2e1bc521c8c39e2dfcbf4724df4f8b58">distance_strategy_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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="bb6549905e99ca61b13cfc644c91f672"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::point_strategy_type" ref="bb6549905e99ca61b13cfc644c91f672" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename Segment , typename Strategy = pythagoras&lt;P, typename point_type&lt;Segment&gt;::type&gt;&gt; </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>&lt; P, Segment, Strategy &gt;::<a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#bb6549905e99ca61b13cfc644c91f672">point_strategy_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="7bbdf22f4985080ce60b2efcbf67352b"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::operator()" ref="7bbdf22f4985080ce60b2efcbf67352b" args="(P const &amp;p, Segment const &amp;s) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename Segment , typename Strategy = pythagoras&lt;P, typename point_type&lt;Segment&gt;::type&gt;&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1cartesian__distance.html">return_type</a> <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment</a>&lt; P, Segment, Strategy &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">P const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Segment const &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00142">142</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::envelope::combine_xy&lt; P, B &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">operator()</a>(const P &amp;p, state_type &amp;s) const </td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#182ce543f6c73a393e327a281bd5833b">state_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1envelope.html">envelope</a>::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">combine_xy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::envelope::combine_xy&lt; P, B &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::envelope::combine_xy" -->
+<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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state</a></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_1_1envelope_1_1combine__xy_1_1state.html">state</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#182ce543f6c73a393e327a281bd5833b">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">operator()</a> (const P &amp;p, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state_type</a> &amp;s) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, typename B&gt;<br>
+ struct ggl::strategy::envelope::combine_xy&lt; P, B &gt;</h3>
+
+<dl compact><dt><b>Examples: </b></dt><dd>
+
+<p>
+<a class="el" href="07__graph__route__example_8cpp-example.html#_a1">07_graph_route_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00028">28</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="182ce543f6c73a393e327a281bd5833b"></a><!-- doxytag: member="ggl::strategy::envelope::combine_xy::state_type" ref="182ce543f6c73a393e327a281bd5833b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state</a> <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">ggl::strategy::envelope::combine_xy</a>&lt; P, B &gt;::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00039">39</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="229d31b6bae851fa277a9f857237c0ab"></a><!-- doxytag: member="ggl::strategy::envelope::combine_xy::operator()" ref="229d31b6bae851fa277a9f857237c0ab" args="(const P &amp;p, state_type &amp;s) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">ggl::strategy::envelope::combine_xy</a>&lt; P, B &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state_type</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00041">41</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::envelope::combine_xy&lt; P, B &gt;::state Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;::state</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a></td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;::state</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#d5773c71a966e0389f8976f6a42bda98">state</a>(B &amp;box)</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;::state</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,132 @@
+<!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">
+&nbsp;&nbsp;
+</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_1envelope.html">envelope</a>::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">combine_xy</a>::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::envelope::combine_xy&lt; P, B &gt;::state Struct Reference</h1><!-- doxytag: class="ggl::strategy::envelope::combine_xy::state" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#d5773c71a966e0389f8976f6a42bda98">state</a> (B &amp;<a class="el" href="classggl_1_1box.html">box</a>)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">B &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, typename B&gt;<br>
+ struct ggl::strategy::envelope::combine_xy&lt; P, B &gt;::state</h3>
+
+
+<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00030">30</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="d5773c71a966e0389f8976f6a42bda98"></a><!-- doxytag: member="ggl::strategy::envelope::combine_xy::state::state" ref="d5773c71a966e0389f8976f6a42bda98" args="(B &amp;box)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">ggl::strategy::envelope::combine_xy</a>&lt; P, B &gt;::state::state </td>
+ <td>(</td>
+ <td class="paramtype">B &amp;&nbsp;</td>
+ <td class="paramname"> <em>box</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00033">33</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="c86c9c655acae1615af90d9966d395ea"></a><!-- doxytag: member="ggl::strategy::envelope::combine_xy::state::m_box" ref="c86c9c655acae1615af90d9966d395ea" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">B&amp; <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">ggl::strategy::envelope::combine_xy</a>&lt; P, B &gt;::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">state::m_box</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00032">32</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::envelope::grow_ll&lt; P, B &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#0a66b9fd4e7caf701344b9412cf0df5b">operator()</a>(const P &amp;p, state_type &amp;s) const </td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#8f49bd3eba8c415f56e24d4085e2b1be">state_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,145 @@
+<!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">
+&nbsp;&nbsp;
+</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_1envelope.html">envelope</a>::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">grow_ll</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::envelope::grow_ll&lt; P, B &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::envelope::grow_ll" -->
+<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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state</a></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_1_1envelope_1_1grow__ll_1_1state.html">state</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#8f49bd3eba8c415f56e24d4085e2b1be">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#0a66b9fd4e7caf701344b9412cf0df5b">operator()</a> (const P &amp;p, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state_type</a> &amp;s) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, typename B&gt;<br>
+ struct ggl::strategy::envelope::grow_ll&lt; P, B &gt;</h3>
+
+<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 &gt; 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>
+<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">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state</a> <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="0a66b9fd4e7caf701344b9412cf0df5b"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::operator()" ref="0a66b9fd4e7caf701344b9412cf0df5b" args="(const P &amp;p, state_type &amp;s) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state_type</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00157">157</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,82 @@
+<!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">
+&nbsp;&nbsp;
+</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::envelope::grow_ll&lt; P, B &gt;::state Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#6fc324d20c8daa360438eadd15c4d2ec">grow</a>(const P &amp;p)</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">has_west</a></td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#2201a3f05376ad97399f34bf6d6043d4">max_lat</a></td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a></td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">max_lon2</a></td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#ce5b18d34b88c63c3b35198370dd947e">mbr</a></td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">min_lat</a></td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">min_lon1</a></td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">min_lon2</a></td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e7472309bf08955ee6e41f15f6124516">state</a>(B &amp;b)</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">take_minmax</a>(const T &amp;value, T &amp;min_value, T &amp;max_value)</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#942d57c72565b6b3dcd03fe213c4ad98">~state</a>()</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,398 @@
+<!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">
+&nbsp;&nbsp;
+</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_1envelope.html">envelope</a>::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">grow_ll</a>::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::envelope::grow_ll&lt; P, B &gt;::state Struct Reference</h1><!-- doxytag: class="ggl::strategy::envelope::grow_ll::state" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt; B &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#6fc324d20c8daa360438eadd15c4d2ec">grow</a> (const P &amp;p)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e7472309bf08955ee6e41f15f6124516">state</a> (B &amp;b)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">take_minmax</a> (const <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> &amp;value, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> &amp;min_value, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> &amp;max_value)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#942d57c72565b6b3dcd03fe213c4ad98">~state</a> ()</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">has_west</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#2201a3f05376ad97399f34bf6d6043d4">max_lat</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">max_lon2</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">B &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#ce5b18d34b88c63c3b35198370dd947e">mbr</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">min_lat</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">min_lon1</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">min_lon2</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, typename B&gt;<br>
+ struct ggl::strategy::envelope::grow_ll&lt; P, B &gt;::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>
+<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">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&lt;B&gt;::type <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">state::T</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="e7472309bf08955ee6e41f15f6124516"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state::state" ref="e7472309bf08955ee6e41f15f6124516" args="(B &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::state::state </td>
+ <td>(</td>
+ <td class="paramtype">B &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="942d57c72565b6b3dcd03fe213c4ad98"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state::~state" ref="942d57c72565b6b3dcd03fe213c4ad98" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::state::~state </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="889b7eeef1d373c2895b08a58b2eb386"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state::take_minmax" ref="889b7eeef1d373c2895b08a58b2eb386" args="(const T &amp;value, T &amp;min_value, T &amp;max_value)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::state::take_minmax </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>min_value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>max_value</em></td><td>&nbsp;</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="sph__envelope_8hpp_source.html#l00085">85</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="6fc324d20c8daa360438eadd15c4d2ec"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state::grow" ref="6fc324d20c8daa360438eadd15c4d2ec" args="(const P &amp;p)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::state::grow </td>
+ <td>(</td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="e1071544a91b9e47caf7a7af12c885cb"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state::has_west" ref="e1071544a91b9e47caf7a7af12c885cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">state::has_west</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="f29ab2f455444e3dc92d22ac62add570"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state::min_lat" ref="f29ab2f455444e3dc92d22ac62add570" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">state::min_lat</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="2201a3f05376ad97399f34bf6d6043d4"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state::max_lat" ref="2201a3f05376ad97399f34bf6d6043d4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#2201a3f05376ad97399f34bf6d6043d4">state::max_lat</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="534528aad828ca28260ca496d1ca89a9"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state::min_lon1" ref="534528aad828ca28260ca496d1ca89a9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">state::min_lon1</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="94725f05c9b3cdaeea0098260f7babc8"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state::min_lon2" ref="94725f05c9b3cdaeea0098260f7babc8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">state::min_lon2</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="fe85bd912fea074a5d04e31b0e799880"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state::max_lon1" ref="fe85bd912fea074a5d04e31b0e799880" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">state::max_lon1</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="a47697f286fa8f5f0eb4e40df7dfd8e0"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state::max_lon2" ref="a47697f286fa8f5f0eb4e40df7dfd8e0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">state::max_lon2</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="ce5b18d34b88c63c3b35198370dd947e"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state::mbr" ref="ce5b18d34b88c63c3b35198370dd947e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">B&amp; <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll</a>&lt; P, B &gt;::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#ce5b18d34b88c63c3b35198370dd947e">state::mbr</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1envelope.html">envelope</a>::<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">shift</a>::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shifted</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::envelope::shift::shifted&lt; D &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::envelope::shift::shifted" --><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename D&gt;<br>
+ struct ggl::strategy::envelope::shift::shifted&lt; D &gt;</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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::envelope::shift::shifted&lt; degree &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html">ggl::strategy::envelope::shift::shifted&lt; degree &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html#6dc89bfc493d2a8abca5e257729089c3">shift</a>()</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html">ggl::strategy::envelope::shift::shifted&lt; degree &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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
==============================================================================
--- (empty file)
+++ 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-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,106 @@
+<!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">
+&nbsp;&nbsp;
+</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_1envelope.html">envelope</a>::<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">shift</a>::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html">shifted&lt; degree &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::envelope::shift::shifted&lt; degree &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::envelope::shift::shifted&lt; degree &gt;" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html#6dc89bfc493d2a8abca5e257729089c3">shift</a> ()</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;&gt;<br>
+ struct ggl::strategy::envelope::shift::shifted&lt; degree &gt;</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>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="6dc89bfc493d2a8abca5e257729089c3"></a><!-- doxytag: member="ggl::strategy::envelope::shift::shifted&lt; degree &gt;::shift" ref="6dc89bfc493d2a8abca5e257729089c3" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">ggl::strategy::envelope::shift::shifted</a>&lt; <a class="el" href="classggl_1_1degree.html">degree</a> &gt;::shift </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::envelope::shift::shifted&lt; radian &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">ggl::strategy::envelope::shift::shifted&lt; radian &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html#190d1b26ee176ef44202ae326af8d1b4">shift</a>()</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">ggl::strategy::envelope::shift::shifted&lt; radian &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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
==============================================================================
--- (empty file)
+++ 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-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,106 @@
+<!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">
+&nbsp;&nbsp;
+</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_1envelope.html">envelope</a>::<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">shift</a>::<a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">shifted&lt; radian &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::envelope::shift::shifted&lt; radian &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::envelope::shift::shifted&lt; radian &gt;" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html#190d1b26ee176ef44202ae326af8d1b4">shift</a> ()</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;&gt;<br>
+ struct ggl::strategy::envelope::shift::shifted&lt; radian &gt;</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>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="190d1b26ee176ef44202ae326af8d1b4"></a><!-- doxytag: member="ggl::strategy::envelope::shift::shifted&lt; radian &gt;::shift" ref="190d1b26ee176ef44202ae326af8d1b4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static double <a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">ggl::strategy::envelope::shift::shifted</a>&lt; <a class="el" href="classggl_1_1radian.html">radian</a> &gt;::shift </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1not__implemented.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1not__implemented.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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="structggl_1_1strategy_1_1not__implemented.html">not_implemented</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::not_implemented Struct Reference</h1><!-- doxytag: class="ggl::strategy::not_implemented" -->Indicate compiler/library user that <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> is not implemented.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Indicate compiler/library user that <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> is not implemented.
+<p>
+The strategy_traits class define strategies for <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> types or for <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type combinations. If there is no implementation for that specific <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type, or <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type combination, the calculation cannot be done. To indicate this, this <a class="el" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">not_implemented</a> class is used as a typedef stub.
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00031">31</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::side::xy_side&lt; P, PS &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side&lt; P, PS &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a>(const segment&lt; const PS &gt; &amp;s, const P &amp;p)</td><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side&lt; P, PS &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#ef3dcea77c310bdd72a534539ef72edd">side</a>(const P &amp;p0, const P &amp;p1, const P &amp;p2)</td><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side&lt; P, PS &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,160 @@
+<!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">
+&nbsp;&nbsp;
+</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_1side.html">side</a>::<a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">xy_side</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::side::xy_side&lt; P, PS &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::side::xy_side" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#ef3dcea77c310bdd72a534539ef72edd">side</a> (const P &amp;p0, const P &amp;p1, const P &amp;p2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; P, PS &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a> (const <a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;s, const P &amp;p)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, typename PS&gt;<br>
+ struct ggl::strategy::side::xy_side&lt; P, PS &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="cart__side_8hpp_source.html#l00029">29</a> of file <a class="el" href="cart__side_8hpp_source.html">cart_side.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="b35869205a5eefee505f491bc1a53f4a"></a><!-- doxytag: member="ggl::strategy::side::xy_side::side" ref="b35869205a5eefee505f491bc1a53f4a" args="(const segment&lt; const PS &gt; &amp;s, const P &amp;p)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename PS &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;P, PS&gt;::type <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side</a>&lt; P, PS &gt;::side </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em></td><td>&nbsp;</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="cart__side_8hpp_source.html#l00036">36</a> of file <a class="el" href="cart__side_8hpp_source.html">cart_side.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ef3dcea77c310bdd72a534539ef72edd"></a><!-- doxytag: member="ggl::strategy::side::xy_side::side" ref="ef3dcea77c310bdd72a534539ef72edd" args="(const P &amp;p0, const P &amp;p1, const P &amp;p2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename PS &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static int <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side</a>&lt; P, PS &gt;::side </td>
+ <td>(</td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="cart__side_8hpp_source.html#l00049">49</a> of file <a class="el" href="cart__side_8hpp_source.html">cart_side.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__direct-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__direct-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::transform::copy_direct&lt; P &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">ggl::strategy::transform::copy_direct&lt; P &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html#5f0d4eaa1ee3ca9b9719461ce322bd58">operator()</a>(const P &amp;p1, P &amp;p2) const </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">ggl::strategy::transform::copy_direct&lt; P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__direct.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__direct.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,131 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">copy_direct</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::copy_direct&lt; P &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::transform::copy_direct" -->Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to copy one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another using assignment operator.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html#5f0d4eaa1ee3ca9b9719461ce322bd58">operator()</a> (const P &amp;p1, P &amp;p2) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::strategy::transform::copy_direct&lt; P &gt;</h3>
+
+Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to copy one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another using assignment operator.
+<p>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</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>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__transform_8hpp_source.html#l00076">76</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="5f0d4eaa1ee3ca9b9719461ce322bd58"></a><!-- doxytag: member="ggl::strategy::transform::copy_direct::operator()" ref="5f0d4eaa1ee3ca9b9719461ce322bd58" args="(const P &amp;p1, P &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">ggl::strategy::transform::copy_direct</a>&lt; P &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">const P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="strategy__transform_8hpp_source.html#l00078">78</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__per__coordinate-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__per__coordinate-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::transform::copy_per_coordinate&lt; P1, P2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">ggl::strategy::transform::copy_per_coordinate&lt; P1, P2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html#30c3026667a9846ecad20909e561a84e">operator()</a>(P1 const &amp;p1, P2 &amp;p2) const </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">ggl::strategy::transform::copy_per_coordinate&lt; P1, P2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,132 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">copy_per_coordinate</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::copy_per_coordinate&lt; P1, P2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::transform::copy_per_coordinate" -->Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do copy a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, copying per coordinate.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html#30c3026667a9846ecad20909e561a84e">operator()</a> (P1 const &amp;p1, P2 &amp;p2) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ struct ggl::strategy::transform::copy_per_coordinate&lt; P1, P2 &gt;</h3>
+
+Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do copy a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, copying per coordinate.
+<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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__transform_8hpp_source.html#l00092">92</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="30c3026667a9846ecad20909e561a84e"></a><!-- doxytag: member="ggl::strategy::transform::copy_per_coordinate::operator()" ref="30c3026667a9846ecad20909e561a84e" args="(P1 const &amp;p1, P2 &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">ggl::strategy::transform::copy_per_coordinate</a>&lt; P1, P2 &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">P1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="strategy__transform_8hpp_source.html#l00094">94</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::transform::degree_radian_vv&lt; P1, P2, F &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html">ggl::strategy::transform::degree_radian_vv&lt; P1, P2, F &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html#152a03b3270b0086b5c8d926fe77f090">operator()</a>(P1 const &amp;p1, P2 &amp;p2) const </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html">ggl::strategy::transform::degree_radian_vv&lt; P1, P2, F &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,133 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html">degree_radian_vv</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::degree_radian_vv&lt; P1, P2, F &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::transform::degree_radian_vv" -->Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to go from <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> to <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a> and back.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html#152a03b3270b0086b5c8d926fe77f090">operator()</a> (P1 const &amp;p1, P2 &amp;p2) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2, template&lt; typename &gt; class F&gt;<br>
+ struct ggl::strategy::transform::degree_radian_vv&lt; P1, P2, F &gt;</h3>
+
+Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to go from <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> to <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a> and back.
+<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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>second <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>F</em>&nbsp;</td><td>additional functor to divide or multiply with d2r </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__transform_8hpp_source.html#l00113">113</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="152a03b3270b0086b5c8d926fe77f090"></a><!-- doxytag: member="ggl::strategy::transform::degree_radian_vv::operator()" ref="152a03b3270b0086b5c8d926fe77f090" args="(P1 const &amp;p1, P2 &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 , template&lt; typename &gt; class F&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html">ggl::strategy::transform::degree_radian_vv</a>&lt; P1, P2, F &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">P1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="strategy__transform_8hpp_source.html#l00115">115</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::transform::degree_radian_vv_3&lt; P1, P2, F &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html">ggl::strategy::transform::degree_radian_vv_3&lt; P1, P2, F &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html#b92cb18180679ef616fa34ff8972f937">operator()</a>(P1 const &amp;p1, P2 &amp;p2) const </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html">ggl::strategy::transform::degree_radian_vv_3&lt; P1, P2, F &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html">degree_radian_vv_3</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::degree_radian_vv_3&lt; P1, P2, F &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::transform::degree_radian_vv_3" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html#b92cb18180679ef616fa34ff8972f937">operator()</a> (P1 const &amp;p1, P2 &amp;p2) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2, template&lt; typename &gt; class F&gt;<br>
+ struct ggl::strategy::transform::degree_radian_vv_3&lt; P1, P2, F &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="strategy__transform_8hpp_source.html#l00129">129</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="b92cb18180679ef616fa34ff8972f937"></a><!-- doxytag: member="ggl::strategy::transform::degree_radian_vv_3::operator()" ref="b92cb18180679ef616fa34ff8972f937" args="(P1 const &amp;p1, P2 &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 , template&lt; typename &gt; class F&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html">ggl::strategy::transform::degree_radian_vv_3</a>&lt; P1, P2, F &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">P1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="strategy__transform_8hpp_source.html#l00131">131</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::transform::from_cartesian_3_to_spherical_2&lt; P1, P2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html">ggl::strategy::transform::from_cartesian_3_to_spherical_2&lt; P1, P2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html#ec9a93c7157291c5f566158a3345fae7">operator()</a>(P1 const &amp;p1, P2 &amp;p2) const </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html">ggl::strategy::transform::from_cartesian_3_to_spherical_2&lt; P1, P2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,134 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html">from_cartesian_3_to_spherical_2</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::from_cartesian_3_to_spherical_2&lt; P1, P2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::transform::from_cartesian_3_to_spherical_2" -->Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D cartesian (x,y,z) to 2D spherical (phi,theta).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html#ec9a93c7157291c5f566158a3345fae7">operator()</a> (P1 const &amp;p1, P2 &amp;p2) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ struct ggl::strategy::transform::from_cartesian_3_to_spherical_2&lt; P1, P2 &gt;</h3>
+
+Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D cartesian (x,y,z) to 2D spherical (phi,theta).
+<p>
+on Unit sphere<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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type </td></tr>
+ </table>
+</dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>If x,y,z <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is not lying on unit sphere, transformation will return false </dd></dl>
+
+<p>Definition at line <a class="el" href="strategy__transform_8hpp_source.html#l00252">252</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="ec9a93c7157291c5f566158a3345fae7"></a><!-- doxytag: member="ggl::strategy::transform::from_cartesian_3_to_spherical_2::operator()" ref="ec9a93c7157291c5f566158a3345fae7" args="(P1 const &amp;p1, P2 &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html">ggl::strategy::transform::from_cartesian_3_to_spherical_2</a>&lt; P1, P2 &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">P1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="strategy__transform_8hpp_source.html#l00254">254</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::transform::from_cartesian_3_to_spherical_3&lt; P1, P2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html">ggl::strategy::transform::from_cartesian_3_to_spherical_3&lt; P1, P2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html#ac8f345a72c9fd828dfbf2a2ba836aa4">operator()</a>(P1 const &amp;p1, P2 &amp;p2) const </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html">ggl::strategy::transform::from_cartesian_3_to_spherical_3&lt; P1, P2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,132 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html">from_cartesian_3_to_spherical_3</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::from_cartesian_3_to_spherical_3&lt; P1, P2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::transform::from_cartesian_3_to_spherical_3" -->Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D cartesian (x,y,z) to 3D spherical (phi,theta,r).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html#ac8f345a72c9fd828dfbf2a2ba836aa4">operator()</a> (P1 const &amp;p1, P2 &amp;p2) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ struct ggl::strategy::transform::from_cartesian_3_to_spherical_3&lt; P1, P2 &gt;</h3>
+
+Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D cartesian (x,y,z) to 3D spherical (phi,theta,r).
+<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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__transform_8hpp_source.html#l00269">269</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="ac8f345a72c9fd828dfbf2a2ba836aa4"></a><!-- doxytag: member="ggl::strategy::transform::from_cartesian_3_to_spherical_3::operator()" ref="ac8f345a72c9fd828dfbf2a2ba836aa4" args="(P1 const &amp;p1, P2 &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html">ggl::strategy::transform::from_cartesian_3_to_spherical_3</a>&lt; P1, P2 &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">P1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="strategy__transform_8hpp_source.html#l00271">271</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::transform::from_spherical_2_to_cartesian_3&lt; P1, P2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html">ggl::strategy::transform::from_spherical_2_to_cartesian_3&lt; P1, P2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html#49e5776790f87fbe0cdd30e751906ba1">operator()</a>(P1 const &amp;p1, P2 &amp;p2) const </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html">ggl::strategy::transform::from_spherical_2_to_cartesian_3&lt; P1, P2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,133 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html">from_spherical_2_to_cartesian_3</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::from_spherical_2_to_cartesian_3&lt; P1, P2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::transform::from_spherical_2_to_cartesian_3" -->Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 2D spherical (phi,theta) to 3D cartesian (x,y,z).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html#49e5776790f87fbe0cdd30e751906ba1">operator()</a> (P1 const &amp;p1, P2 &amp;p2) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ struct ggl::strategy::transform::from_spherical_2_to_cartesian_3&lt; P1, P2 &gt;</h3>
+
+Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 2D spherical (phi,theta) to 3D cartesian (x,y,z).
+<p>
+on Unit sphere<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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__transform_8hpp_source.html#l00215">215</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="49e5776790f87fbe0cdd30e751906ba1"></a><!-- doxytag: member="ggl::strategy::transform::from_spherical_2_to_cartesian_3::operator()" ref="49e5776790f87fbe0cdd30e751906ba1" args="(P1 const &amp;p1, P2 &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html">ggl::strategy::transform::from_spherical_2_to_cartesian_3</a>&lt; P1, P2 &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">P1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="strategy__transform_8hpp_source.html#l00217">217</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::transform::from_spherical_3_to_cartesian_3&lt; P1, P2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html">ggl::strategy::transform::from_spherical_3_to_cartesian_3&lt; P1, P2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html#feed81c34e4f15791bb63fba042cf5e8">operator()</a>(P1 const &amp;p1, P2 &amp;p2) const </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html">ggl::strategy::transform::from_spherical_3_to_cartesian_3&lt; P1, P2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,132 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html">from_spherical_3_to_cartesian_3</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::from_spherical_3_to_cartesian_3&lt; P1, P2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::transform::from_spherical_3_to_cartesian_3" -->Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D spherical (phi,theta,r) to 3D cartesian (x,y,z).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html#feed81c34e4f15791bb63fba042cf5e8">operator()</a> (P1 const &amp;p1, P2 &amp;p2) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ struct ggl::strategy::transform::from_spherical_3_to_cartesian_3&lt; P1, P2 &gt;</h3>
+
+Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for 3D spherical (phi,theta,r) to 3D cartesian (x,y,z).
+<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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__transform_8hpp_source.html#l00232">232</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="feed81c34e4f15791bb63fba042cf5e8"></a><!-- doxytag: member="ggl::strategy::transform::from_spherical_3_to_cartesian_3::operator()" ref="feed81c34e4f15791bb63fba042cf5e8" args="(P1 const &amp;p1, P2 &amp;p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html">ggl::strategy::transform::from_spherical_3_to_cartesian_3</a>&lt; P1, P2 &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">P1 const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P2 &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</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="strategy__transform_8hpp_source.html#l00234">234</a> of file <a class="el" href="strategy__transform_8hpp_source.html">strategy_transform.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::transform::inverse_transformer&lt; P1, P2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">ggl::strategy::transform::inverse_transformer&lt; P1, P2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#4e116b3a139e47ecb7913e19ae0beb67">inverse_transformer</a>(const MatrixType &amp;input)</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">ggl::strategy::transform::inverse_transformer&lt; P1, P2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#a5b03bab846c70cc412672c5b8a15a33">T</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">ggl::strategy::transform::inverse_transformer&lt; P1, P2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,152 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">inverse_transformer</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::inverse_transformer&lt; P1, P2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::transform::inverse_transformer" --><!-- doxytag: inherits="ublas_transformer&lt; P1, P2, dimension&lt; P1 &gt;::type::value, dimension&lt; P2 &gt;::type::value &gt;" -->Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do an inverse ransformation in Cartesian system.
+More...
+<p>
+Inherits <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ublas_transformer&lt; P1, P2, dimension&lt; P1 &gt;::type::value, dimension&lt; P2 &gt;::type::value &gt;</a>.
+<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_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; P1, P2 &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#a5b03bab846c70cc412672c5b8a15a33">T</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MatrixType &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#4e116b3a139e47ecb7913e19ae0beb67">inverse_transformer</a> (const MatrixType &amp;input)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ struct ggl::strategy::transform::inverse_transformer&lt; P1, P2 &gt;</h3>
+
+Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do an inverse ransformation in Cartesian system.
+<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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type </td></tr>
+ </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>
+<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">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;P1, P2&gt;::type <a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">ggl::strategy::transform::inverse_transformer</a>&lt; P1, P2 &gt;::<a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#a5b03bab846c70cc412672c5b8a15a33">T</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="4e116b3a139e47ecb7913e19ae0beb67"></a><!-- doxytag: member="ggl::strategy::transform::inverse_transformer::inverse_transformer" ref="4e116b3a139e47ecb7913e19ae0beb67" args="(const MatrixType &amp;input)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+<div class="memtemplate">
+template&lt;typename MatrixType &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">ggl::strategy::transform::inverse_transformer</a>&lt; P1, P2 &gt;::<a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">inverse_transformer</a> </td>
+ <td>(</td>
+ <td class="paramtype">const MatrixType &amp;&nbsp;</td>
+ <td class="paramname"> <em>input</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1map__transformer-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1map__transformer-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,73 @@
+<!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">
+&nbsp;&nbsp;
+</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::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cfed826adf99f091779e40eb01718131">M</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#50548a182f22cf997edb2c1d4b249291">map_transformer</a>(B const &amp;box, D const &amp;width, D const &amp;height)</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#d6c19c1e601bb6c183054684a59e5767">map_transformer</a>(W const &amp;wx1, W const &amp;wy1, W const &amp;wx2, W const &amp;wy2, D const &amp;width, D const &amp;height)</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cd9a362067f7a5825d01d040930a22c9">T</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1map__transformer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1map__transformer.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,256 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">map_transformer</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::transform::map_transformer" --><!-- doxytag: inherits="ublas_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;" -->Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do map from one to another Cartesian system.
+More...
+<p>
+Inherits <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ublas_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</a>.
+<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">
+boost::numeric::ublas::matrix<br class="typebreak">
+&lt; <a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cd9a362067f7a5825d01d040930a22c9">T</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cfed826adf99f091779e40eb01718131">M</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; P1, P2 &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cd9a362067f7a5825d01d040930a22c9">T</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename W , typename D &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#d6c19c1e601bb6c183054684a59e5767">map_transformer</a> (W const &amp;wx1, W const &amp;wy1, W const &amp;wx2, W const &amp;wy2, D const &amp;width, D const &amp;height)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename B , typename D &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#50548a182f22cf997edb2c1d4b249291">map_transformer</a> (B const &amp;<a class="el" href="classggl_1_1box.html">box</a>, D const &amp;width, D const &amp;height)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2, bool Mirror, bool SameScale = true, std::size_t Dimension1 = dimension&lt;P1&gt;::type::value, std::size_t Dimension2 = dimension&lt;P2&gt;::type::value&gt;<br>
+ struct ggl::strategy::transform::map_transformer&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;</h3>
+
+Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do map from one to another Cartesian system.
+<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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>second <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>Mirror</em>&nbsp;</td><td>if true map is mirrored upside-down (in most cases pixels are from top to bottom, while map is from bottom to top) </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+
+<p>
+<a class="el" href="07__graph__route__example_8cpp-example.html#_a13">07_graph_route_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="map__transformer_8hpp_source.html#l00036">36</a> of file <a class="el" href="map__transformer_8hpp_source.html">map_transformer.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="cd9a362067f7a5825d01d040930a22c9"></a><!-- doxytag: member="ggl::strategy::transform::map_transformer::T" ref="cd9a362067f7a5825d01d040930a22c9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 , bool Mirror, bool SameScale = true, std::size_t Dimension1 = dimension&lt;P1&gt;::type::value, std::size_t Dimension2 = dimension&lt;P2&gt;::type::value&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;P1, P2&gt;::type <a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">ggl::strategy::transform::map_transformer</a>&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;::<a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cd9a362067f7a5825d01d040930a22c9">T</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="map__transformer_8hpp_source.html#l00039">39</a> of file <a class="el" href="map__transformer_8hpp_source.html">map_transformer.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="cfed826adf99f091779e40eb01718131"></a><!-- doxytag: member="ggl::strategy::transform::map_transformer::M" ref="cfed826adf99f091779e40eb01718131" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 , bool Mirror, bool SameScale = true, std::size_t Dimension1 = dimension&lt;P1&gt;::type::value, std::size_t Dimension2 = dimension&lt;P2&gt;::type::value&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::numeric::ublas::matrix&lt;<a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cd9a362067f7a5825d01d040930a22c9">T</a>&gt; <a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">ggl::strategy::transform::map_transformer</a>&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;::<a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cfed826adf99f091779e40eb01718131">M</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="map__transformer_8hpp_source.html#l00040">40</a> of file <a class="el" href="map__transformer_8hpp_source.html">map_transformer.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="50548a182f22cf997edb2c1d4b249291"></a><!-- doxytag: member="ggl::strategy::transform::map_transformer::map_transformer" ref="50548a182f22cf997edb2c1d4b249291" args="(B const &amp;box, D const &amp;width, D const &amp;height)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 , bool Mirror, bool SameScale = true, std::size_t Dimension1 = dimension&lt;P1&gt;::type::value, std::size_t Dimension2 = dimension&lt;P2&gt;::type::value&gt; </div>
+<div class="memtemplate">
+template&lt;typename B , typename D &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">ggl::strategy::transform::map_transformer</a>&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;::<a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">map_transformer</a> </td>
+ <td>(</td>
+ <td class="paramtype">B const &amp;&nbsp;</td>
+ <td class="paramname"> <em>box</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">D const &amp;&nbsp;</td>
+ <td class="paramname"> <em>width</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">D const &amp;&nbsp;</td>
+ <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="map__transformer_8hpp_source.html#l00043">43</a> of file <a class="el" href="map__transformer_8hpp_source.html">map_transformer.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d6c19c1e601bb6c183054684a59e5767"></a><!-- doxytag: member="ggl::strategy::transform::map_transformer::map_transformer" ref="d6c19c1e601bb6c183054684a59e5767" args="(W const &amp;wx1, W const &amp;wy1, W const &amp;wx2, W const &amp;wy2, D const &amp;width, D const &amp;height)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 , bool Mirror, bool SameScale = true, std::size_t Dimension1 = dimension&lt;P1&gt;::type::value, std::size_t Dimension2 = dimension&lt;P2&gt;::type::value&gt; </div>
+<div class="memtemplate">
+template&lt;typename W , typename D &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">ggl::strategy::transform::map_transformer</a>&lt; P1, P2, Mirror, SameScale, Dimension1, Dimension2 &gt;::<a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">map_transformer</a> </td>
+ <td>(</td>
+ <td class="paramtype">W const &amp;&nbsp;</td>
+ <td class="paramname"> <em>wx1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">W const &amp;&nbsp;</td>
+ <td class="paramname"> <em>wy1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">W const &amp;&nbsp;</td>
+ <td class="paramname"> <em>wx2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">W const &amp;&nbsp;</td>
+ <td class="paramname"> <em>wy2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">D const &amp;&nbsp;</td>
+ <td class="paramname"> <em>width</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">D const &amp;&nbsp;</td>
+ <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="map__transformer_8hpp_source.html#l00052">52</a> of file <a class="el" href="map__transformer_8hpp_source.html">map_transformer.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::transform::rotate_transformer&lt; P1, P2, DegreeOrRadian &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">ggl::strategy::transform::rotate_transformer&lt; P1, P2, DegreeOrRadian &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html#a38f61b33b815f836459fa1cb7ba1011">rotate_transformer</a>(double const &amp;angle)</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">ggl::strategy::transform::rotate_transformer&lt; P1, P2, DegreeOrRadian &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">rotate_transformer</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::rotate_transformer&lt; P1, P2, DegreeOrRadian &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::transform::rotate_transformer" -->Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to rotate in Cartesian system.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html#a38f61b33b815f836459fa1cb7ba1011">rotate_transformer</a> (double const &amp;angle)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2, typename DegreeOrRadian&gt;<br>
+ struct ggl::strategy::transform::rotate_transformer&lt; P1, P2, DegreeOrRadian &gt;</h3>
+
+Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to rotate in Cartesian system.
+<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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>second <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>DegreeOrRadian</em>&nbsp;</td><td>degree/or/radian, type of rotation angle specification </td></tr>
+ </table>
+</dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Not yet in 3D, the 3D version requires special things to allow for rotation around X, Y, Z or arbitrary axis </dd></dl>
+<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>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="a38f61b33b815f836459fa1cb7ba1011"></a><!-- doxytag: member="ggl::strategy::transform::rotate_transformer::rotate_transformer" ref="a38f61b33b815f836459fa1cb7ba1011" args="(double const &amp;angle)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 , typename DegreeOrRadian &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">ggl::strategy::transform::rotate_transformer</a>&lt; P1, P2, DegreeOrRadian &gt;::<a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">rotate_transformer</a> </td>
+ <td>(</td>
+ <td class="paramtype">double const &amp;&nbsp;</td>
+ <td class="paramname"> <em>angle</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,96 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">scale_transformer</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::scale_transformer&lt; P1, P2, Dimension1, Dimension2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::transform::scale_transformer" -->Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to scale in Cartesian system.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2, std::size_t Dimension1 = ggl::dimension&lt;P1&gt;::type::value, std::size_t Dimension2 = ggl::dimension&lt;P2&gt;::type::value&gt;<br>
+ struct ggl::strategy::transform::scale_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</h3>
+
+Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to scale in Cartesian system.
+<p>
+<dl class="see" compact><dt><b>See also:</b></dt><dd>http://www.devmaster.net/wiki/Transformation_matrices </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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>second <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>Dimension1</em>&nbsp;</td><td>number of dimensions to <a class="el" href="namespaceggl_1_1strategy_1_1transform.html">transform</a> from first <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, optional </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Dimension1</em>&nbsp;</td><td>number of dimensions to <a class="el" href="namespaceggl_1_1strategy_1_1transform.html">transform</a> to second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, optional </td></tr>
+ </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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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-members.html
==============================================================================
--- (empty file)
+++ 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-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,78 @@
+<!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">
+&nbsp;&nbsp;
+</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::transform::scale_transformer&lt; P1, P2, 2, 2 &gt; Member List</h1>This is the complete list of members for <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">ggl::strategy::transform::scale_transformer&lt; P1, P2, 2, 2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><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#b6de86a8e58ced2952f1fa8674ddba9b">coordinate_type</a> typedef</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">ggl::strategy::transform::scale_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#d4da01249b3437d063dc5fba25fec65f">ct</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#490515cf8b428ea54c0aacc3d9683876">m_matrix</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#6b9ff9fc83d6716a7d7aa46916340e45">matrix</a>() const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#12592e67623e7963a17010ad3441389b">matrix_type</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#1d0365284596b5f526aef0af1c388649">operator()</a>(const P1 &amp;p1, P2 &amp;p2) const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#fd92b640f6aeb776138c3b076b714ae1">scale_transformer</a>(coordinate_type const &amp;scale_x, coordinate_type const &amp;scale_y, coordinate_type const &amp;dummy=0)</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">ggl::strategy::transform::scale_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#deabcfb90827d666568146854b29ae80">ublas_transformer</a>(ct const &amp;m_0_0, ct const &amp;m_0_1, ct const &amp;m_0_2, ct const &amp;m_1_0, ct const &amp;m_1_1, ct const &amp;m_1_2, ct const &amp;m_2_0, ct const &amp;m_2_1, ct const &amp;m_2_2)</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#6f4c5f93e056261368a62866dc1138bc">ublas_transformer</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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
==============================================================================
--- (empty file)
+++ 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-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,152 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</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">scale_transformer&lt; P1, P2, 2, 2 &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::scale_transformer&lt; P1, P2, 2, 2 &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::transform::scale_transformer&lt; P1, P2, 2, 2 &gt;" --><!-- doxytag: inherits="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;" -->Inherits <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a>.
+<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_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; P1, P2 &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><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">coordinate_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">&nbsp;</td><td class="memItemRight" valign="bottom"><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">scale_transformer</a> (<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;scale_x, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;scale_y, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dummy=0)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ struct ggl::strategy::transform::scale_transformer&lt; P1, P2, 2, 2 &gt;</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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="b6de86a8e58ced2952f1fa8674ddba9b"></a><!-- doxytag: member="ggl::strategy::transform::scale_transformer&lt; P1, P2, 2, 2 &gt;::coordinate_type" ref="b6de86a8e58ced2952f1fa8674ddba9b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;P1, P2&gt;::type <a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">ggl::strategy::transform::scale_transformer</a>&lt; P1, P2, 2, 2 &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<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&lt; P1, P2, 2, 2 &gt;</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>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="fd92b640f6aeb776138c3b076b714ae1"></a><!-- doxytag: member="ggl::strategy::transform::scale_transformer&lt; P1, P2, 2, 2 &gt;::scale_transformer" ref="fd92b640f6aeb776138c3b076b714ae1" args="(coordinate_type const &amp;scale_x, coordinate_type const &amp;scale_y, coordinate_type const &amp;dummy=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">ggl::strategy::transform::scale_transformer</a>&lt; P1, P2, 2, 2 &gt;::<a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">scale_transformer</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>scale_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>scale_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dummy</em> = <code>0</code></td><td>&nbsp;</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="matrix__transformers_8hpp_source.html#l00253">253</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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-members.html
==============================================================================
--- (empty file)
+++ 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-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,78 @@
+<!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">
+&nbsp;&nbsp;
+</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::transform::scale_transformer&lt; P1, P2, 3, 3 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::scale_transformer&lt; P1, P2, 3, 3 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><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#9e9ba88969a37c5754ca1c3e78cbc369">coordinate_type</a> typedef</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">ggl::strategy::transform::scale_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#951814d986884cb4de41d5ac69f49935">ct</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#cbc1a5011d8f38842c1970ea9f7ae859">m_matrix</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#26c463b304ea38f14d55fcadd4d439a8">matrix</a>() const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#a76b6324f5b389154d46f685e0d87780">matrix_type</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#b74d6180b2290096409861046c6b33da">operator()</a>(const P1 &amp;p1, P2 &amp;p2) const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#f63cba0849484a91687f20936bfa1761">scale_transformer</a>(coordinate_type const &amp;scale_x, coordinate_type const &amp;scale_y, coordinate_type const &amp;scale_z)</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">ggl::strategy::transform::scale_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#62ee4b0a8b7b1e9b4a3b6621911fd0b4">ublas_transformer</a>(ct const &amp;m_0_0, ct const &amp;m_0_1, ct const &amp;m_0_2, ct const &amp;m_0_3, ct const &amp;m_1_0, ct const &amp;m_1_1, ct const &amp;m_1_2, ct const &amp;m_1_3, ct const &amp;m_2_0, ct const &amp;m_2_1, ct const &amp;m_2_2, ct const &amp;m_2_3, ct const &amp;m_3_0, ct const &amp;m_3_1, ct const &amp;m_3_2, ct const &amp;m_3_3)</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#c6b30d2d246cd8e4ef439c10c563abba">ublas_transformer</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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
==============================================================================
--- (empty file)
+++ 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-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,152 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</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">scale_transformer&lt; P1, P2, 3, 3 &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::scale_transformer&lt; P1, P2, 3, 3 &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::transform::scale_transformer&lt; P1, P2, 3, 3 &gt;" --><!-- doxytag: inherits="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;" -->Inherits <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a>.
+<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_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; P1, P2 &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><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">coordinate_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">&nbsp;</td><td class="memItemRight" valign="bottom"><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">scale_transformer</a> (<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;scale_x, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;scale_y, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;scale_z)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ struct ggl::strategy::transform::scale_transformer&lt; P1, P2, 3, 3 &gt;</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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="9e9ba88969a37c5754ca1c3e78cbc369"></a><!-- doxytag: member="ggl::strategy::transform::scale_transformer&lt; P1, P2, 3, 3 &gt;::coordinate_type" ref="9e9ba88969a37c5754ca1c3e78cbc369" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;P1, P2&gt;::type <a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">ggl::strategy::transform::scale_transformer</a>&lt; P1, P2, 3, 3 &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<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&lt; P1, P2, 3, 3 &gt;</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>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="f63cba0849484a91687f20936bfa1761"></a><!-- doxytag: member="ggl::strategy::transform::scale_transformer&lt; P1, P2, 3, 3 &gt;::scale_transformer" ref="f63cba0849484a91687f20936bfa1761" args="(coordinate_type const &amp;scale_x, coordinate_type const &amp;scale_y, coordinate_type const &amp;scale_z)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">ggl::strategy::transform::scale_transformer</a>&lt; P1, P2, 3, 3 &gt;::<a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">scale_transformer</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>scale_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>scale_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>scale_z</em></td><td>&nbsp;</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="matrix__transformers_8hpp_source.html#l00269">269</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,99 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</a>::<a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">translate_transformer</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::translate_transformer&lt; P1, P2, Dimension1, Dimension2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::transform::translate_transformer" -->Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to translate in Cartesian system.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2, std::size_t Dimension1 = ggl::dimension&lt;P1&gt;::type::value, std::size_t Dimension2 = ggl::dimension&lt;P2&gt;::type::value&gt;<br>
+ struct ggl::strategy::transform::translate_transformer&lt; P1, P2, Dimension1, Dimension2 &gt;</h3>
+
+Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to translate in Cartesian system.
+<p>
+<dl class="see" compact><dt><b>See also:</b></dt><dd>http://www.devmaster.net/wiki/Transformation_matrices </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>P1</em>&nbsp;</td><td>first <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>P2</em>&nbsp;</td><td>second <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>Dimension1</em>&nbsp;</td><td>number of dimensions to <a class="el" href="namespaceggl_1_1strategy_1_1transform.html">transform</a> from first <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, optional </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Dimension1</em>&nbsp;</td><td>number of dimensions to <a class="el" href="namespaceggl_1_1strategy_1_1transform.html">transform</a> to second <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, optional </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+
+<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>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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-members.html
==============================================================================
--- (empty file)
+++ 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-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,78 @@
+<!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">
+&nbsp;&nbsp;
+</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::transform::translate_transformer&lt; P1, P2, 2, 2 &gt; Member List</h1>This is the complete list of members for <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">ggl::strategy::transform::translate_transformer&lt; P1, P2, 2, 2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><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#89d70caf72012acdb7186ac75f3efa36">coordinate_type</a> typedef</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">ggl::strategy::transform::translate_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#d4da01249b3437d063dc5fba25fec65f">ct</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#490515cf8b428ea54c0aacc3d9683876">m_matrix</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#6b9ff9fc83d6716a7d7aa46916340e45">matrix</a>() const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#12592e67623e7963a17010ad3441389b">matrix_type</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#1d0365284596b5f526aef0af1c388649">operator()</a>(const P1 &amp;p1, P2 &amp;p2) const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#84a76b9962a5f194a83f42a656b6ba3b">translate_transformer</a>(coordinate_type const &amp;translate_x, coordinate_type const &amp;translate_y, coordinate_type const &amp;dummy=0)</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">ggl::strategy::transform::translate_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#deabcfb90827d666568146854b29ae80">ublas_transformer</a>(ct const &amp;m_0_0, ct const &amp;m_0_1, ct const &amp;m_0_2, ct const &amp;m_1_0, ct const &amp;m_1_1, ct const &amp;m_1_2, ct const &amp;m_2_0, ct const &amp;m_2_1, ct const &amp;m_2_2)</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#6f4c5f93e056261368a62866dc1138bc">ublas_transformer</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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
==============================================================================
--- (empty file)
+++ 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-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,152 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</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">translate_transformer&lt; P1, P2, 2, 2 &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::translate_transformer&lt; P1, P2, 2, 2 &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::transform::translate_transformer&lt; P1, P2, 2, 2 &gt;" --><!-- doxytag: inherits="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;" -->Inherits <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a>.
+<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_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; P1, P2 &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><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">coordinate_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">&nbsp;</td><td class="memItemRight" valign="bottom"><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">translate_transformer</a> (<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;translate_x, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;translate_y, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;dummy=0)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ struct ggl::strategy::transform::translate_transformer&lt; P1, P2, 2, 2 &gt;</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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="89d70caf72012acdb7186ac75f3efa36"></a><!-- doxytag: member="ggl::strategy::transform::translate_transformer&lt; P1, P2, 2, 2 &gt;::coordinate_type" ref="89d70caf72012acdb7186ac75f3efa36" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;P1, P2&gt;::type <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">ggl::strategy::transform::translate_transformer</a>&lt; P1, P2, 2, 2 &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<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&lt; P1, P2, 2, 2 &gt;</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>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="84a76b9962a5f194a83f42a656b6ba3b"></a><!-- doxytag: member="ggl::strategy::transform::translate_transformer&lt; P1, P2, 2, 2 &gt;::translate_transformer" ref="84a76b9962a5f194a83f42a656b6ba3b" args="(coordinate_type const &amp;translate_x, coordinate_type const &amp;translate_y, coordinate_type const &amp;dummy=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">ggl::strategy::transform::translate_transformer</a>&lt; P1, P2, 2, 2 &gt;::<a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">translate_transformer</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>translate_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>translate_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>dummy</em> = <code>0</code></td><td>&nbsp;</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="matrix__transformers_8hpp_source.html#l00201">201</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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-members.html
==============================================================================
--- (empty file)
+++ 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-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,78 @@
+<!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">
+&nbsp;&nbsp;
+</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::transform::translate_transformer&lt; P1, P2, 3, 3 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::translate_transformer&lt; P1, P2, 3, 3 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><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#0c99fdac62697111b767ecf7c60a5b28">coordinate_type</a> typedef</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">ggl::strategy::transform::translate_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#951814d986884cb4de41d5ac69f49935">ct</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#cbc1a5011d8f38842c1970ea9f7ae859">m_matrix</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#26c463b304ea38f14d55fcadd4d439a8">matrix</a>() const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#a76b6324f5b389154d46f685e0d87780">matrix_type</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#b74d6180b2290096409861046c6b33da">operator()</a>(const P1 &amp;p1, P2 &amp;p2) const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#c58e40759cfd721966d862a348e9ddf0">translate_transformer</a>(coordinate_type const &amp;translate_x, coordinate_type const &amp;translate_y, coordinate_type const &amp;translate_z)</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">ggl::strategy::transform::translate_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#62ee4b0a8b7b1e9b4a3b6621911fd0b4">ublas_transformer</a>(ct const &amp;m_0_0, ct const &amp;m_0_1, ct const &amp;m_0_2, ct const &amp;m_0_3, ct const &amp;m_1_0, ct const &amp;m_1_1, ct const &amp;m_1_2, ct const &amp;m_1_3, ct const &amp;m_2_0, ct const &amp;m_2_1, ct const &amp;m_2_2, ct const &amp;m_2_3, ct const &amp;m_3_0, ct const &amp;m_3_1, ct const &amp;m_3_2, ct const &amp;m_3_3)</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#c6b30d2d246cd8e4ef439c10c563abba">ublas_transformer</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a></td><td><code> [protected]</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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
==============================================================================
--- (empty file)
+++ 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-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,152 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</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">translate_transformer&lt; P1, P2, 3, 3 &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::translate_transformer&lt; P1, P2, 3, 3 &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::transform::translate_transformer&lt; P1, P2, 3, 3 &gt;" --><!-- doxytag: inherits="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;" -->Inherits <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 3 &gt;</a>.
+<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_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; P1, P2 &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><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">coordinate_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">&nbsp;</td><td class="memItemRight" valign="bottom"><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">translate_transformer</a> (<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;translate_x, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;translate_y, <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;translate_z)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ struct ggl::strategy::transform::translate_transformer&lt; P1, P2, 3, 3 &gt;</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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="0c99fdac62697111b767ecf7c60a5b28"></a><!-- doxytag: member="ggl::strategy::transform::translate_transformer&lt; P1, P2, 3, 3 &gt;::coordinate_type" ref="0c99fdac62697111b767ecf7c60a5b28" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;P1, P2&gt;::type <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">ggl::strategy::transform::translate_transformer</a>&lt; P1, P2, 3, 3 &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<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&lt; P1, P2, 3, 3 &gt;</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>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="c58e40759cfd721966d862a348e9ddf0"></a><!-- doxytag: member="ggl::strategy::transform::translate_transformer&lt; P1, P2, 3, 3 &gt;::translate_transformer" ref="c58e40759cfd721966d862a348e9ddf0" args="(coordinate_type const &amp;translate_x, coordinate_type const &amp;translate_y, coordinate_type const &amp;translate_z)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">ggl::strategy::transform::translate_transformer</a>&lt; P1, P2, 3, 3 &gt;::<a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">translate_transformer</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>translate_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>translate_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>translate_z</em></td><td>&nbsp;</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="matrix__transformers_8hpp_source.html#l00217">217</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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-members.html
==============================================================================
--- (empty file)
+++ 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-members.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,77 @@
+<!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">
+&nbsp;&nbsp;
+</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::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><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#d6b0c10cc71f3cd2d4dad47f5c94a9f2">coordinate_type</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#1f78be251f94d7559e60516ff5fe6774">ct</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#490515cf8b428ea54c0aacc3d9683876">m_matrix</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#6b9ff9fc83d6716a7d7aa46916340e45">matrix</a>() const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#12592e67623e7963a17010ad3441389b">matrix_type</a> typedef</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><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#1d0365284596b5f526aef0af1c388649">operator()</a>(const P1 &amp;p1, P2 &amp;p2) const </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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#2a4a593ed9bfa13f35718c475f8e99fb">ublas_transformer</a>(ct const &amp;m_0_0, ct const &amp;m_0_1, ct const &amp;m_0_2, ct const &amp;m_1_0, ct const &amp;m_1_1, ct const &amp;m_1_2, ct const &amp;m_2_0, ct const &amp;m_2_1, ct const &amp;m_2_2)</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;</a></td><td></td></tr>
+ <tr class="memlist"><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#a25611abeabb510caa9f38a68b60590e">ublas_transformer</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">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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
==============================================================================
--- (empty file)
+++ 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-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,240 @@
+<!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">
+&nbsp;&nbsp;
+</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_1transform.html">transform</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">ublas_transformer&lt; P1, P2, 3, 2 &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;" --><!-- doxytag: inherits="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;" -->Inherits <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">ggl::strategy::transform::ublas_transformer&lt; P1, P2, 2, 2 &gt;</a>.
+<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_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+&lt; P1, P2 &gt;::type&nbsp;</td><td class="memItemRight" valign="bottom"><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">coordinate_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><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">ct</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><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">ublas_transformer</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><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">ublas_transformer</a> (<a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_0_0, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_0_1, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_0_2, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_1_0, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_1_1, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_1_2, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_2_0, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_2_1, <a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;m_2_2)</td>
</tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ struct ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;</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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="d6b0c10cc71f3cd2d4dad47f5c94a9f2"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;::coordinate_type" ref="d6b0c10cc71f3cd2d4dad47f5c94a9f2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>&lt;P1, P2&gt;::type <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 3, 2 &gt;::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<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&lt; P1, P2, 2, 2 &gt;</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>
+
+</div>
+</div><p>
+<a class="anchor" name="1f78be251f94d7559e60516ff5fe6774"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;::ct" ref="1f78be251f94d7559e60516ff5fe6774" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 3, 2 &gt;::<a class="el" href="structggl_1_1coordinate__type.html">ct</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<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&lt; P1, P2, 2, 2 &gt;</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>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="2a4a593ed9bfa13f35718c475f8e99fb"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;::ublas_transformer" ref="2a4a593ed9bfa13f35718c475f8e99fb" args="(ct const &amp;m_0_0, ct const &amp;m_0_1, ct const &amp;m_0_2, ct const &amp;m_1_0, ct const &amp;m_1_1, ct const &amp;m_1_2, ct const &amp;m_2_0, ct const &amp;m_2_1, ct const &amp;m_2_2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 3, 2 &gt;::<a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ublas_transformer</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_0_0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_0_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_0_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_1_0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_1_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_1_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_2_0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_2_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1coordinate__type.html">ct</a> const &amp;&nbsp;</td>
+ <td class="paramname"> <em>m_2_2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<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&lt; P1, P2, 2, 2 &gt;</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>
+
+</div>
+</div><p>
+<a class="anchor" name="a25611abeabb510caa9f38a68b60590e"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer&lt; P1, P2, 3, 2 &gt;::ublas_transformer" ref="a25611abeabb510caa9f38a68b60590e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ggl::strategy::transform::ublas_transformer</a>&lt; P1, P2, 3, 2 &gt;::<a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ublas_transformer</a> </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<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&lt; P1, P2, 2, 2 &gt;</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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1within_1_1franklin-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1within_1_1franklin-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::within::franklin&lt; P, PS &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; P, PS &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">operator()</a>(const segment&lt; const PS &gt; &amp;s, state_type &amp;state) const </td><td><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; P, PS &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin&lt; P, PS &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1within_1_1franklin.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1within_1_1franklin.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1within.html">within</a>::<a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">franklin</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::within::franklin&lt; P, PS &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::within::franklin" -->Within detection using cross counting.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>crossings</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef crossings&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">operator()</a> (const <a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;s, <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a> &amp;state) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P, typename PS = P&gt;<br>
+ struct ggl::strategy::within::franklin&lt; P, PS &gt;</h3>
+
+Within detection using cross counting.
+<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>adapted from Randolph Franklin algorithm <p>
+Barend and Maarten, 1995 <p>
+Revised for templatized library, Barend Gehrels, 2007 </dd></dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is in ring, works for closed rings in both directions </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Does NOT work correctly for <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> ON border </dd></dl>
+
+<p>Definition at line <a class="el" href="cart__within_8hpp_source.html#l00035">35</a> of file <a class="el" href="cart__within_8hpp_source.html">cart_within.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="ae1dd9c468a086bdaaa4b1235fc26bce"></a><!-- doxytag: member="ggl::strategy::within::franklin::state_type" ref="ae1dd9c468a086bdaaa4b1235fc26bce" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename PS = P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef crossings <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>&lt; P, PS &gt;::<a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__within_8hpp_source.html#l00055">55</a> of file <a class="el" href="cart__within_8hpp_source.html">cart_within.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="bc36ab444ff56273a4536af3f3d4a281"></a><!-- doxytag: member="ggl::strategy::within::franklin::operator()" ref="bc36ab444ff56273a4536af3f3d4a281" args="(const segment&lt; const PS &gt; &amp;s, state_type &amp;state) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P , typename PS = P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>&lt; P, PS &gt;::operator() </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>state</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__within_8hpp_source.html#l00057">57</a> of file <a class="el" href="cart__within_8hpp_source.html">cart_within.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__area-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__area-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_area&lt; T, P &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy__area.html">ggl::strategy_area&lt; T, P &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__area.html">ggl::strategy_area&lt; T, P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__area.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__area.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1strategy__area.html">strategy_area</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_area&lt; T, P &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__area.html">area calculation</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy_area" -->Traits class binding an area <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+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_1_1not__implemented.html">strategy::not_implemented</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T, typename P&gt;<br>
+ struct ggl::strategy_area&lt; T, P &gt;</h3>
+
+Traits class binding an area <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+<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>T</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>point-type </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00042">42</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="1e4dc33e378ad99d5ba47807de230a3b"></a><!-- doxytag: member="ggl::strategy_area::type" ref="1e4dc33e378ad99d5ba47807de230a3b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, typename P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1not__implemented.html">strategy::not_implemented</a> <a class="el" href="structggl_1_1strategy__area.html">ggl::strategy_area</a>&lt; T, P &gt;::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00044">44</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__centroid-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__centroid-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_centroid&lt; T, P, PS &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy__centroid.html">ggl::strategy_centroid&lt; T, P, PS &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__centroid.html#d993b491319e39b70e4b52c2fd9f5dd6">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__centroid.html">ggl::strategy_centroid&lt; T, P, PS &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__centroid.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__centroid.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1strategy__centroid.html">strategy_centroid</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_centroid&lt; T, P, PS &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__centroid.html">centroid calculation</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy_centroid" -->Traits class binding a centroid calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+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_1_1not__implemented.html">strategy::not_implemented</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__centroid.html#d993b491319e39b70e4b52c2fd9f5dd6">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T, typename P, typename PS&gt;<br>
+ struct ggl::strategy_centroid&lt; T, P, PS &gt;</h3>
+
+Traits class binding a centroid calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+<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>T</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>point-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PS</em>&nbsp;</td><td><a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> point-type </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00084">84</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="d993b491319e39b70e4b52c2fd9f5dd6"></a><!-- doxytag: member="ggl::strategy_centroid::type" ref="d993b491319e39b70e4b52c2fd9f5dd6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , typename P , typename PS &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1not__implemented.html">strategy::not_implemented</a> <a class="el" href="structggl_1_1strategy__centroid.html">ggl::strategy_centroid</a>&lt; T, P, PS &gt;::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00086">86</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__compare-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__compare-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_compare&lt; T, P, D &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy__compare.html">ggl::strategy_compare&lt; T, P, D &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__compare.html#990dea01301b207c8152141f89242399">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__compare.html">ggl::strategy_compare&lt; T, P, D &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__compare.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__compare.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1strategy__compare.html">strategy_compare</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_compare&lt; T, P, D &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy_compare" -->Traits class binding a comparing <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+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_1_1not__implemented.html">strategy::not_implemented</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__compare.html#990dea01301b207c8152141f89242399">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T, typename P, size_t D&gt;<br>
+ struct ggl::strategy_compare&lt; T, P, D &gt;</h3>
+
+Traits class binding a comparing <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+<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>T</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system of point-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>point-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>D</em>&nbsp;</td><td><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> to compare </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00156">156</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="990dea01301b207c8152141f89242399"></a><!-- doxytag: member="ggl::strategy_compare::type" ref="990dea01301b207c8152141f89242399" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, typename P, size_t D&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1not__implemented.html">strategy::not_implemented</a> <a class="el" href="structggl_1_1strategy__compare.html">ggl::strategy_compare</a>&lt; T, P, D &gt;::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00158">158</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__convex__hull-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__convex__hull-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_convex_hull&lt; T, P &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy__convex__hull.html">ggl::strategy_convex_hull&lt; T, P &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__convex__hull.html#ec3cbad2b86bbd620de9d6c669863f32">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__convex__hull.html">ggl::strategy_convex_hull&lt; T, P &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__convex__hull.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__convex__hull.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1strategy__convex__hull.html">strategy_convex_hull</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_convex_hull&lt; T, P &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__convex__hull.html">convex hull calculation</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy_convex_hull" -->Traits class binding a convex hull calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+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_1_1not__implemented.html">strategy::not_implemented</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__convex__hull.html#ec3cbad2b86bbd620de9d6c669863f32">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T, typename P&gt;<br>
+ struct ggl::strategy_convex_hull&lt; T, P &gt;</h3>
+
+Traits class binding a convex hull calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+<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>T</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>point-type of input points </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00112">112</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="ec3cbad2b86bbd620de9d6c669863f32"></a><!-- doxytag: member="ggl::strategy_convex_hull::type" ref="ec3cbad2b86bbd620de9d6c669863f32" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1not__implemented.html">strategy::not_implemented</a> <a class="el" href="structggl_1_1strategy__convex__hull.html">ggl::strategy_convex_hull</a>&lt; T, P &gt;::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00114">114</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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&lt; T1, T2, P1, P2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy__distance.html">ggl::strategy_distance&lt; T1, T2, P1, P2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__distance.html">ggl::strategy_distance&lt; T1, T2, P1, P2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1strategy__distance.html">strategy_distance</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_distance&lt; T1, T2, P1, P2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance calculation</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy_distance" -->Traits class binding a distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a (possibly two) coordinate system(s).
+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_1_1not__implemented.html">strategy::not_implemented</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T1, typename T2, typename P1, typename P2&gt;<br>
+ struct ggl::strategy_distance&lt; T1, T2, P1, P2 &gt;</h3>
+
+Traits class binding a distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a (possibly two) coordinate system(s).
+<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>T1</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system of first <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>T2</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system of second <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>P1</em>&nbsp;</td><td>first point-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>P2</em>&nbsp;</td><td>second point-type </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00056">56</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="e95dff63729289b7ff265e4311fb54de"></a><!-- doxytag: member="ggl::strategy_distance::type" ref="e95dff63729289b7ff265e4311fb54de" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T1, typename T2, typename P1, typename P2&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1not__implemented.html">strategy::not_implemented</a> <a class="el" href="structggl_1_1strategy__distance.html">ggl::strategy_distance</a>&lt; T1, T2, P1, P2 &gt;::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00058">58</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance__segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance__segment-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_segment&lt; CsTag1, CsTag2, Point, Segment &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy__distance__segment.html">ggl::strategy_distance_segment&lt; CsTag1, CsTag2, Point, Segment &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__distance__segment.html">ggl::strategy_distance_segment&lt; CsTag1, CsTag2, Point, Segment &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance__segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance__segment.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1strategy__distance__segment.html">strategy_distance_segment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_distance_segment&lt; CsTag1, CsTag2, Point, Segment &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance calculation</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy_distance_segment" -->Traits class binding a distance-to-segment <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a (possibly two) coordinate system(s).
+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_1_1not__implemented.html">strategy::not_implemented</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename CsTag1, typename CsTag2, typename Point, typename Segment&gt;<br>
+ struct ggl::strategy_distance_segment&lt; CsTag1, CsTag2, Point, Segment &gt;</h3>
+
+Traits class binding a distance-to-segment <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a (possibly two) coordinate system(s).
+<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>CsTag1</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system of <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>CsTag2</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system of <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> type, usually same as CsTag1 </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Point</em>&nbsp;</td><td>point-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Segment</em>&nbsp;</td><td>segment-type </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00070">70</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="7f194ba200da0e6da72ac4e14a623a2f"></a><!-- doxytag: member="ggl::strategy_distance_segment::type" ref="7f194ba200da0e6da72ac4e14a623a2f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CsTag1 , typename CsTag2 , typename Point , typename Segment &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1not__implemented.html">strategy::not_implemented</a> <a class="el" href="structggl_1_1strategy__distance__segment.html">ggl::strategy_distance_segment</a>&lt; CsTag1, CsTag2, Point, Segment &gt;::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00072">72</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__envelope-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__envelope-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_envelope&lt; TP, TB, P, B &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy__envelope.html">ggl::strategy_envelope&lt; TP, TB, P, B &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__envelope.html#3254d57340b4c3fc7ff081522627cbc2">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__envelope.html">ggl::strategy_envelope&lt; TP, TB, P, B &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__envelope.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__envelope.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1strategy__envelope.html">strategy_envelope</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_envelope&lt; TP, TB, P, B &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__envelope.html">envelope calculation</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy_envelope" -->Traits class binding envelope <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+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_1_1not__implemented.html">strategy::not_implemented</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__envelope.html#3254d57340b4c3fc7ff081522627cbc2">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename TP, typename TB, typename P, typename B&gt;<br>
+ struct ggl::strategy_envelope&lt; TP, TB, P, B &gt;</h3>
+
+Traits class binding envelope <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+<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>TP</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system of <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>TB</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system of <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, usually same as TP </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>point-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>B</em>&nbsp;</td><td>box-type </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00099">99</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="3254d57340b4c3fc7ff081522627cbc2"></a><!-- doxytag: member="ggl::strategy_envelope::type" ref="3254d57340b4c3fc7ff081522627cbc2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename TP , typename TB , typename P , typename B &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1not__implemented.html">strategy::not_implemented</a> <a class="el" href="structggl_1_1strategy__envelope.html">ggl::strategy_envelope</a>&lt; TP, TB, P, B &gt;::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00101">101</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__parse-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__parse-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_parse&lt; T, CS &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy__parse.html">ggl::strategy_parse&lt; T, CS &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__parse.html#0d99f45801b3eff372b9ddd4693e4c1f">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__parse.html">ggl::strategy_parse&lt; T, CS &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__parse.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__parse.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1strategy__parse.html">strategy_parse</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_parse&lt; T, CS &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy_parse" -->Traits class binding a parsing <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+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_1_1not__implemented.html">strategy::not_implemented</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__parse.html#0d99f45801b3eff372b9ddd4693e4c1f">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T, typename CS&gt;<br>
+ struct ggl::strategy_parse&lt; T, CS &gt;</h3>
+
+Traits class binding a parsing <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+<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>T</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system of point-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>CS</em>&nbsp;</td><td>coordinate system </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00192">192</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="0d99f45801b3eff372b9ddd4693e4c1f"></a><!-- doxytag: member="ggl::strategy_parse::type" ref="0d99f45801b3eff372b9ddd4693e4c1f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , typename CS &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1not__implemented.html">strategy::not_implemented</a> <a class="el" href="structggl_1_1strategy__parse.html">ggl::strategy_parse</a>&lt; T, CS &gt;::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00194">194</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_side&lt; T, P, PS &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy__side.html">ggl::strategy_side&lt; T, P, PS &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__side.html#ff01de1fab8079a9387be65b1b925428">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__side.html">ggl::strategy_side&lt; T, P, PS &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1strategy__side.html">strategy_side</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_side&lt; T, P, PS &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy_side" -->Traits class binding a side determination <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+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_1_1not__implemented.html">strategy::not_implemented</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__side.html#ff01de1fab8079a9387be65b1b925428">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T, typename P, typename PS = P&gt;<br>
+ struct ggl::strategy_side&lt; T, P, PS &gt;</h3>
+
+Traits class binding a side determination <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+<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>T</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system of point-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>point-type of input points </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PS</em>&nbsp;</td><td>point-type of input points </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00141">141</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="ff01de1fab8079a9387be65b1b925428"></a><!-- doxytag: member="ggl::strategy_side::type" ref="ff01de1fab8079a9387be65b1b925428" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , typename P , typename PS = P&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1not__implemented.html">strategy::not_implemented</a> <a class="el" href="structggl_1_1strategy__side.html">ggl::strategy_side</a>&lt; T, P, PS &gt;::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00143">143</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_tag&lt; T &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy__tag.html">ggl::strategy_tag&lt; T &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__tag.html">ggl::strategy_tag&lt; T &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1strategy__tag.html">strategy_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_tag&lt; T &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy_tag" -->
+<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__tag__unknown.html">strategy_tag_unknown</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T&gt;<br>
+ struct ggl::strategy_tag&lt; T &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00224">224</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="5b87fe714131125577390960840bd65c"></a><!-- doxytag: member="ggl::strategy_tag::type" ref="5b87fe714131125577390960840bd65c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy__tag__unknown.html">strategy_tag_unknown</a> <a class="el" href="structggl_1_1strategy__tag.html">ggl::strategy_tag</a>&lt; T &gt;::<a class="el" href="structggl_1_1strategy__tag__unknown.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00226">226</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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-members.html
==============================================================================
--- (empty file)
+++ 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-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_tag&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt; Member List</h1>This is the complete list of members for <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">ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><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#c2105145e587929fce337ec44821b5a8">type</a> typedef</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">ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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
==============================================================================
--- (empty file)
+++ 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-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,105 @@
+<!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">
+&nbsp;&nbsp;
+</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_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html">strategy_tag&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;" -->
+<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">
+<a class="el" href="structggl_1_1strategy__tag__distance__point__point.html">strategy_tag_distance_point_point</a>&nbsp;</td><td class="memItemRight" valign="bottom"><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">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P1, typename P2&gt;<br>
+ struct ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;</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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="c2105145e587929fce337ec44821b5a8"></a><!-- doxytag: member="ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;::type" ref="c2105145e587929fce337ec44821b5a8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy__tag__distance__point__point.html">strategy_tag_distance_point_point</a> <a class="el" href="structggl_1_1strategy__tag.html">ggl::strategy_tag</a>&lt; <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">strategy::distance::pythagoras</a>&lt; P1, P2 &gt; &gt;::<a class="el" href="structggl_1_1strategy__tag__distance__point__point.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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_segmed55c3cfc5827a9fce761418deab6f486.html
==============================================================================
--- (empty file)
+++ 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_segmed55c3cfc5827a9fce761418deab6f486.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_tag&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt; Member List</h1>This is the complete list of members for <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">ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><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#c06ed387f720d8a642e343b6d9b7f78c">type</a> typedef</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">ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: 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
==============================================================================
--- (empty file)
+++ 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-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,105 @@
+<!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">
+&nbsp;&nbsp;
+</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_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&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;" -->
+<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">
+<a class="el" href="structggl_1_1strategy__tag__distance__point__segment.html">strategy_tag_distance_point_segment</a>&nbsp;</td><td class="memItemRight" valign="bottom"><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">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Point, typename Segment, typename PPStrategy&gt;<br>
+ struct ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;</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>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="c06ed387f720d8a642e343b6d9b7f78c"></a><!-- doxytag: member="ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;::type" ref="c06ed387f720d8a642e343b6d9b7f78c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Point , typename Segment , typename PPStrategy &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy__tag__distance__point__segment.html">strategy_tag_distance_point_segment</a> <a class="el" href="structggl_1_1strategy__tag.html">ggl::strategy_tag</a>&lt; <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">strategy::distance::xy_point_segment</a>&lt; Point, Segment, PPStrategy &gt; &gt;::<a class="el" href="structggl_1_1strategy__tag__distance__point__segment.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__distance__point__point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__distance__point__point.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1strategy__tag__distance__point__point.html">strategy_tag_distance_point_point</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_tag_distance_point_point Struct Reference</h1><!-- doxytag: class="ggl::strategy_tag_distance_point_point" --><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00220">220</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__distance__point__segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__distance__point__segment.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1strategy__tag__distance__point__segment.html">strategy_tag_distance_point_segment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_tag_distance_point_segment Struct Reference</h1><!-- doxytag: class="ggl::strategy_tag_distance_point_segment" --><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00221">221</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__unknown.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag__unknown.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1strategy__tag__unknown.html">strategy_tag_unknown</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_tag_unknown Struct Reference</h1><!-- doxytag: class="ggl::strategy_tag_unknown" --><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00219">219</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__transform-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__transform-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_transform&lt; CS_TAG1, CS_TAG2, CS1, CS2, D1, D2, P1, P2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy__transform.html">ggl::strategy_transform&lt; CS_TAG1, CS_TAG2, CS1, CS2, D1, D2, P1, P2 &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__transform.html">ggl::strategy_transform&lt; CS_TAG1, CS_TAG2, CS1, CS2, D1, D2, P1, P2 &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__transform.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__transform.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1strategy__transform.html">strategy_transform</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_transform&lt; CS_TAG1, CS_TAG2, CS1, CS2, D1, D2, P1, P2 &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__transform.html">transformations</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy_transform" -->Traits class binding a transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+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_1_1not__implemented.html">strategy::not_implemented</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename CS_TAG1, typename CS_TAG2, typename CS1, typename CS2, size_t D1, size_t D2, typename P1, typename P2&gt;<br>
+ struct ggl::strategy_transform&lt; CS_TAG1, CS_TAG2, CS1, CS2, D1, D2, P1, P2 &gt;</h3>
+
+Traits class binding a transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+<p>
+Can be specialized<ul>
+<li>per coordinate system family (<a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>)</li><li>per coordinate system (or groups of them)</li><li>per <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></li><li>per <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type <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>CS_TAG</em>&nbsp;</td><td>1,2 coordinate system tags </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>CS</em>&nbsp;</td><td>1,2 coordinate system </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>D</em>&nbsp;</td><td>1, 2 <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> </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>1, 2 <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type </td></tr>
+ </table>
+</dl>
+</li></ul>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00179">179</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="baa7792aa260a0931c571f277ad7b41f"></a><!-- doxytag: member="ggl::strategy_transform::type" ref="baa7792aa260a0931c571f277ad7b41f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CS_TAG1 , typename CS_TAG2 , typename CS1 , typename CS2 , size_t D1, size_t D2, typename P1 , typename P2 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1not__implemented.html">strategy::not_implemented</a> <a class="el" href="structggl_1_1strategy__transform.html">ggl::strategy_transform</a>&lt; CS_TAG1, CS_TAG2, CS1, CS2, D1, D2, P1, P2 &gt;::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00181">181</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__within-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__within-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_within&lt; TP, TS, P, PS &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy__within.html">ggl::strategy_within&lt; TP, TS, P, PS &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy__within.html#91c77dd02ec4c0826d7b4debc7aa6599">type</a> typedef</td><td><a class="el" href="structggl_1_1strategy__within.html">ggl::strategy_within&lt; TP, TS, P, PS &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__within.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__within.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1strategy__within.html">strategy_within</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy_within&lt; TP, TS, P, PS &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::strategy_within" -->Traits class binding a within determination <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+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_1_1not__implemented.html">strategy::not_implemented</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__within.html#91c77dd02ec4c0826d7b4debc7aa6599">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename TP, typename TS, typename P, typename PS&gt;<br>
+ struct ggl::strategy_within&lt; TP, TS, P, PS &gt;</h3>
+
+Traits class binding a within determination <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system.
+<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>TP</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system of point-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>TS</em>&nbsp;</td><td><a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of coordinate system of segment-type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td>point-type of input points </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PS</em>&nbsp;</td><td>point-type of input segment-points </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00127">127</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="91c77dd02ec4c0826d7b4debc7aa6599"></a><!-- doxytag: member="ggl::strategy_within::type" ref="91c77dd02ec4c0826d7b4debc7aa6599" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename TP , typename TS , typename P , typename PS &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1not__implemented.html">strategy::not_implemented</a> <a class="el" href="structggl_1_1strategy__within.html">ggl::strategy_within</a>&lt; TP, TS, P, PS &gt;::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="strategy__traits_8hpp_source.html#l00129">129</a> of file <a class="el" href="strategy__traits_8hpp_source.html">strategy_traits.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1tag-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1tag-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::tag&lt; Geometry &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1tag.html">ggl::tag&lt; Geometry &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1tag.html#278f0697dbc88a94726215f401e87179">type</a> typedef</td><td><a class="el" href="structggl_1_1tag.html">ggl::tag&lt; Geometry &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1tag.html">tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::tag&lt; Geometry &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::tag" -->Meta-function to get the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of any geometry 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 <a class="el" href="structggl_1_1traits_1_1tag.html">traits::tag</a>&lt; typename <br class="typebreak">
+boost::remove_const&lt; Geometry &gt;<br class="typebreak">
+::<a class="el" href="structggl_1_1geometry__not__recognized__tag.html">type</a> &gt;::<a class="el" href="structggl_1_1geometry__not__recognized__tag.html">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1tag.html#278f0697dbc88a94726215f401e87179">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::tag&lt; Geometry &gt;</h3>
+
+Meta-function to get the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of any geometry type.
+<p>
+All geometries tell their geometry type (<a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, <a class="el" href="classggl_1_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>, etc) by implementing a <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> <a class="el" href="namespaceggl_1_1traits.html">traits</a> class. This meta-function uses that <a class="el" href="namespaceggl_1_1traits.html">traits</a> class to retrieve the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. If the input type is not a geometry at all, a <a class="el" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">ge
ometry_not_recognized_tag</a> will be returned. <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>&nbsp;</td><td>geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="tag_8hpp_source.html#l00055">55</a> of file <a class="el" href="tag_8hpp_source.html">tag.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="278f0697dbc88a94726215f401e87179"></a><!-- doxytag: member="ggl::tag::type" ref="278f0697dbc88a94726215f401e87179" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1traits_1_1tag.html">traits::tag</a>&lt; typename boost::remove_const&lt;Geometry&gt;::<a class="el" href="structggl_1_1geometry__not__recognized__tag.html">type</a> &gt;::<a class="el" href="structggl_1_1geometry__not__recognized__tag.html">type</a> <a class="el" href="structggl_1_1tag.html">ggl::tag</a>&lt; Geometry &gt;::<a class="el" href="structggl_1_1geometry__not__recognized__tag.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="tag_8hpp_source.html#l00060">60</a> of file <a class="el" href="tag_8hpp_source.html">tag.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1topological__dimension.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1topological__dimension.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1topological__dimension.html">topological_dimension</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::topological_dimension&lt; Geometry &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::topological_dimension" -->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...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::topological_dimension&lt; Geometry &gt;</h3>
+
+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.
+<p>
+The topological <a class="el" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension</a> defines a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> as 0-dimensional, a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> as 1-dimensional, and a ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> as 2-dimensional. <dl class="see" compact><dt><b>See also:</b></dt><dd>http://www.math.okstate.edu/mathdept/dynamics/lecnotes/node36.html </dd></dl>
+
+<p>Definition at line <a class="el" href="core_2topological__dimension_8hpp_source.html#l00082">82</a> of file <a class="el" href="core_2topological__dimension_8hpp_source.html">topological_dimension.hpp</a>.</p>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,98 @@
+<!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">
+&nbsp;&nbsp;
+</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_1access.html">access</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::access&lt; G &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::access" -->Traits class which gives <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (get,set) to points.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::traits::access&lt; G &gt;</h3>
+
+Traits class which gives <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (get,set) to points.
+<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a></li><li>n-sphere (circle,sphere) for their center </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>static inline T get&lt;I&gt;(const G&amp;)</li><li>static inline void set&lt;I&gt;(G&amp;, const T&amp;) </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>&nbsp;</td><td>geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00042">42</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt; Member List</h1>This is the complete list of members for <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">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><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#a25393c19c53fae14f51f6be484113b9">get</a>(ggl::detail::intersection::intersection_point&lt; P &gt; const &amp;p)</td><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">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><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#bce25b446714591183532373ceeaf1f7">set</a>(ggl::detail::intersection::intersection_point&lt; P &gt; &amp;p, typename coordinate_type&lt; P &gt;::type const &amp;value)</td><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">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,150 @@
+<!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">
+&nbsp;&nbsp;
+</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_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;int Index&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1traits_1_1coordinate__type.html">coordinate_type</a>&lt; P &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><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">get</a> (ggl::detail::intersection::intersection_point&lt; P &gt; const &amp;p)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;int Index&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><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">set</a> (ggl::detail::intersection::intersection_point&lt; P &gt; &amp;p, typename <a class="el" href="structggl_1_1traits_1_1coordinate__type.html">coordinate_type</a>&lt; P &gt;::type const &amp;value)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="intersection__point_8hpp_source.html#l00213">213</a> of file <a class="el" href="intersection__point_8hpp_source.html">intersection_point.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="a25393c19c53fae14f51f6be484113b9"></a><!-- doxytag: member="ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;::get" ref="a25393c19c53fae14f51f6be484113b9" args="(ggl::detail::intersection::intersection_point&lt; P &gt; const &amp;p)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+<div class="memtemplate">
+template&lt;int Index&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structggl_1_1traits_1_1coordinate__type.html">coordinate_type</a>&lt;P&gt;::type <a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access</a>&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;::get </td>
+ <td>(</td>
+ <td class="paramtype">ggl::detail::intersection::intersection_point&lt; P &gt; const &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__point_8hpp_source.html#l00216">216</a> of file <a class="el" href="intersection__point_8hpp_source.html">intersection_point.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="bce25b446714591183532373ceeaf1f7"></a><!-- doxytag: member="ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;::set" ref="bce25b446714591183532373ceeaf1f7" args="(ggl::detail::intersection::intersection_point&lt; P &gt; &amp;p, typename coordinate_type&lt; P &gt;::type const &amp;value)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+<div class="memtemplate">
+template&lt;int Index&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static void <a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access</a>&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;::set </td>
+ <td>(</td>
+ <td class="paramtype">ggl::detail::intersection::intersection_point&lt; P &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename <a class="el" href="structggl_1_1traits_1_1coordinate__type.html">coordinate_type</a>&lt; P &gt;::type const &amp;&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</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="intersection__point_8hpp_source.html#l00223">223</a> of file <a class="el" href="intersection__point_8hpp_source.html">intersection_point.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1append__point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1append__point.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,94 @@
+<!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">
+&nbsp;&nbsp;
+</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_1append__point.html">append_point</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::append_point&lt; G, P &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::append_point" -->Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G, typename P&gt;<br>
+ struct ggl::traits::append_point&lt; G, P &gt;</h3>
+
+Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
+<p>
+If a geometry type should not use the std "push_back" then it can specialize the "use_std" <a class="el" href="namespaceggl_1_1traits.html">traits</a> class to false, it should then implement (a.o.) <a class="el" href="structggl_1_1traits_1_1append__point.html" title="Traits class, optional, might be implemented to append a point.">append_point</a><p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><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></li><li><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> </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>run </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="append_8hpp_source.html#l00040">40</a> of file <a class="el" href="append_8hpp_source.html">append.hpp</a>.</p>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1clear.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1clear.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,94 @@
+<!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">
+&nbsp;&nbsp;
+</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_1clear.html">clear</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::clear&lt; G &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::clear" -->Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::traits::clear&lt; G &gt;</h3>
+
+Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry.
+<p>
+If a geometry type should not use the std ".clear()" then it can specialize the "use_std" <a class="el" href="namespaceggl_1_1traits.html">traits</a> class to false, it should then implement (a.o.) <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a><p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><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></li><li><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> </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>apply </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="clear_8hpp_source.html#l00036">36</a> of file <a class="el" href="clear_8hpp_source.html">clear.hpp</a>.</p>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__system.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__system.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,93 @@
+<!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">
+&nbsp;&nbsp;
+</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_1coordinate__system.html">coordinate_system</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::coordinate_system&lt; P &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::coordinate_system" -->Traits class defining the coordinate system of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, important for <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> selection.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::traits::coordinate_system&lt; P &gt;</h3>
+
+Traits class defining the coordinate system of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, important for <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> selection.
+<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>typedef CS type; (<a class="el" href="structggl_1_1cs_1_1cartesian.html" title="Cartesian coordinate system.">cs::cartesian</a>, <a class="el" href="structggl_1_1cs_1_1spherical.html" title="Spherical coordinate system, in degree or in radian.">cs::spherical</a>, etc) </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="coordinate__system_8hpp_source.html#l00033">33</a> of file <a class="el" href="coordinate__system_8hpp_source.html">coordinate_system.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::coordinate_system&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">ggl::traits::coordinate_system&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><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#b77a740fb26f4ade02637e33c02ead68">type</a> typedef</td><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">ggl::traits::coordinate_system&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,105 @@
+<!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">
+&nbsp;&nbsp;
+</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_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">coordinate_system&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::coordinate_system&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::traits::coordinate_system&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system</a><br class="typebreak">
+&lt; P &gt;::<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">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><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">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::traits::coordinate_system&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="intersection__point_8hpp_source.html#l00196">196</a> of file <a class="el" href="intersection__point_8hpp_source.html">intersection_point.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="b77a740fb26f4ade02637e33c02ead68"></a><!-- doxytag: member="ggl::traits::coordinate_system&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;::type" ref="b77a740fb26f4ade02637e33c02ead68" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system</a>&lt;P&gt;::<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">type</a> <a class="el" href="structggl_1_1traits_1_1coordinate__system.html">ggl::traits::coordinate_system</a>&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;::<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">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__point_8hpp_source.html#l00198">198</a> of file <a class="el" href="intersection__point_8hpp_source.html">intersection_point.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__type.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,93 @@
+<!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">
+&nbsp;&nbsp;
+</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_1coordinate__type.html">coordinate_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::coordinate_type&lt; P &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::coordinate_type" -->Traits class which indicate the coordinate type (double,float,...) of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::traits::coordinate_type&lt; P &gt;</h3>
+
+Traits class which indicate the coordinate type (double,float,...) of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
+<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>typedef T type; (double,float,int,etc) </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="coordinate__type_8hpp_source.html#l00029">29</a> of file <a class="el" href="coordinate__type_8hpp_source.html">coordinate_type.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__type_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__type_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::coordinate_type&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt; Member List</h1>This is the complete list of members for <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">ggl::traits::coordinate_type&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><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#7f398e2aac26bbcf7f62ddae080c8e28">type</a> typedef</td><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">ggl::traits::coordinate_type&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__type_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1coordinate__type_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,105 @@
+<!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">
+&nbsp;&nbsp;
+</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_1coordinate__type_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">coordinate_type&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::coordinate_type&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::traits::coordinate_type&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1coordinate__type.html">ggl::coordinate_type</a><br class="typebreak">
+&lt; P &gt;::<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">type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><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">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::traits::coordinate_type&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="intersection__point_8hpp_source.html#l00190">190</a> of file <a class="el" href="intersection__point_8hpp_source.html">intersection_point.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="7f398e2aac26bbcf7f62ddae080c8e28"></a><!-- doxytag: member="ggl::traits::coordinate_type&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;::type" ref="7f398e2aac26bbcf7f62ddae080c8e28" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1coordinate__type.html">ggl::coordinate_type</a>&lt;P&gt;::<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">type</a> <a class="el" href="structggl_1_1traits_1_1coordinate__type.html">ggl::traits::coordinate_type</a>&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;::<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">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__point_8hpp_source.html#l00192">192</a> of file <a class="el" href="intersection__point_8hpp_source.html">intersection_point.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1cs__tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1cs__tag.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,92 @@
+<!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">
+&nbsp;&nbsp;
+</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_1cs__tag.html">cs_tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::cs_tag&lt; CoordinateSystem &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::cs_tag" -->Traits class defining coordinate system <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">tag</a>, bound to coordinate system.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename CoordinateSystem&gt;<br>
+ struct ggl::traits::cs_tag&lt; CoordinateSystem &gt;</h3>
+
+Traits class defining coordinate system <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">tag</a>, bound to coordinate system.
+<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>CoordinateSystem</em>&nbsp;</td><td>coordinate system </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="cs_8hpp_source.html#l00118">118</a> of file <a class="el" href="cs_8hpp_source.html">cs.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1dimension.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1dimension.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,93 @@
+<!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">
+&nbsp;&nbsp;
+</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_1dimension.html">dimension</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::dimension&lt; P &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::dimension" -->Traits class indicating the number of dimensions of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::traits::dimension&lt; P &gt;</h3>
+
+Traits class indicating the number of dimensions of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
+<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>value (should be derived from boost::mpl::int_&lt;D&gt; </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="coordinate__dimension_8hpp_source.html#l00036">36</a> of file <a class="el" href="coordinate__dimension_8hpp_source.html">coordinate_dimension.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1dimension_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1dimension_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1dimension_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">dimension&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::dimension&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::traits::dimension&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;" --><!-- doxytag: inherits="dimension&lt; P &gt;" -->Inherits <a class="el" href="structggl_1_1dimension.html">dimension&lt; P &gt;</a>.
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::traits::dimension&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="intersection__point_8hpp_source.html#l00202">202</a> of file <a class="el" href="intersection__point_8hpp_source.html">intersection_point.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1exterior__ring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1exterior__ring.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,99 @@
+<!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">
+&nbsp;&nbsp;
+</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_1exterior__ring.html">exterior_ring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::exterior_ring&lt; P &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::exterior_ring" -->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_1exterior__ring.html" title="Traits class defining access to exterior_ring of a polygon.">exterior_ring</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>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::traits::exterior_ring&lt; P &gt;</h3>
+
+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_1exterior__ring.html" title="Traits class defining access to exterior_ring of a polygon.">exterior_ring</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>.
+<p>
+Should define const and non const <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</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>G</em>&nbsp;</td><td>geometry </td></tr>
+ </table>
+</dl>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<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></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>static inline RING&amp; get(POLY&amp; )</li><li>static inline const RING&amp; get(const POLY&amp; ) </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="exterior__ring_8hpp_source.html#l00038">38</a> of file <a class="el" href="exterior__ring_8hpp_source.html">exterior_ring.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1indexed__access.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1indexed__access.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,100 @@
+<!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">
+&nbsp;&nbsp;
+</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_1indexed__access.html">indexed_access</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::indexed_access&lt; G, I, D &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::indexed_access" -->Traits class defining "get" and "set" to get and set <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> coordinate values.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G, std::size_t I, std::size_t D&gt;<br>
+ struct ggl::traits::indexed_access&lt; G, I, D &gt;</h3>
+
+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.
+<p>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>G</em>&nbsp;</td><td>geometry (<a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>) </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>I</em>&nbsp;</td><td>index (min_corner/max_corner for <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, 0/1 for <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>) </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>D</em>&nbsp;</td><td><a class="el" href="structggl_1_1traits_1_1dimension.html" title="Traits class indicating the number of dimensions of a point.">dimension</a> </td></tr>
+ </table>
+</dl>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a></li><li><a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>static inline T get(const G&amp;)</li><li>static inline void set(G&amp;, const T&amp;) </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00059">59</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1interior__rings.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1interior__rings.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,99 @@
+<!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">
+&nbsp;&nbsp;
+</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_1interior__rings.html">interior_rings</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::interior_rings&lt; G &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::interior_rings" -->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>.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::traits::interior_rings&lt; G &gt;</h3>
+
+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>.
+<p>
+defines <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (const and non const) to interior ring<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<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></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>static inline INTERIOR&amp; get(POLY&amp;)</li><li>static inline const INTERIOR&amp; get(const POLY&amp;) </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>&nbsp;</td><td>geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="interior__rings_8hpp_source.html#l00051">51</a> of file <a class="el" href="interior__rings_8hpp_source.html">interior_rings.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1interior__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1interior__type.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,100 @@
+<!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">
+&nbsp;&nbsp;
+</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_1interior__type.html">interior_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::interior_type&lt; G &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::interior_type" -->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...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::traits::interior_type&lt; G &gt;</h3>
+
+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>.
+<p>
+defines inner container type, so the container containing the interior rings<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<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></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>typedef CONTAINER&lt;RING</li></ul>
+</dd></dl>
+&gt; type (e.g. std::vector&lt;<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><p>
+&gt;) <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>&nbsp;</td><td>geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="interior__rings_8hpp_source.html#l00036">36</a> of file <a class="el" href="interior__rings_8hpp_source.html">interior_rings.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__type.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,98 @@
+<!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">
+&nbsp;&nbsp;
+</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__type.html">point_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::point_type&lt; G &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::point_type" -->Traits class indicating the type of contained points.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::traits::point_type&lt; G &gt;</h3>
+
+Traits class indicating the type of contained points.
+<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li>all geometries except <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</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>&nbsp;</td><td>geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="core_2point__type_8hpp_source.html#l00034">34</a> of file <a class="el" href="core_2point__type_8hpp_source.html">point_type.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1radius__access.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1radius__access.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,95 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1traits.html">traits</a>::<a class="el" href="structggl_1_1traits_1_1radius__access.html">radius_access</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::radius_access&lt; G, T, D &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::radius_access" -->Traits class to get/set radius of a circle/sphere/(ellipse).
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G, typename T, std::size_t D&gt;<br>
+ struct ggl::traits::radius_access&lt; G, T, D &gt;</h3>
+
+Traits class to get/set radius of a circle/sphere/(ellipse).
+<p>
+the radius <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> meta-functions give read/write <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> to the radius of a circle or a sphere, or to the major/minor axis or an ellipse, or to one of the 3 equatorial radii of an ellipsoid.<p>
+It should be specialized per geometry, in namespace core_dispatch. Those specializations should forward the call via <a class="el" href="namespaceggl_1_1traits.html">traits</a> to the geometry class, which could be specified by the user.<p>
+There is a corresponding generic radius_get and radius_set function <dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li>n-sphere (circle,sphere)</li><li>upcoming ellipse </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>inline static T get(const G&amp; geometry)</li><li>inline static void set(G&amp; geometry, const T&amp; radius) </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00045">45</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1radius__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1radius__type.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,93 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1traits.html">traits</a>::<a class="el" href="structggl_1_1traits_1_1radius__type.html">radius_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::radius_type&lt; G &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::radius_type" -->Traits class indicating the type (double,float,...) of the radius of a circle or a sphere.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::traits::radius_type&lt; G &gt;</h3>
+
+Traits class indicating the type (double,float,...) of the radius of a circle or a sphere.
+<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li>n-sphere (circle,sphere)</li><li>upcoming ellipse </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>typedef T type (double,float,int,etc) </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00058">58</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1ring__type.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1ring__type.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,98 @@
+<!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">
+&nbsp;&nbsp;
+</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_1ring__type.html">ring_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::ring_type&lt; G &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::ring_type" -->Traits class to indicate ring-type of a polygon's exterior ring/interior rings.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::traits::ring_type&lt; G &gt;</h3>
+
+Traits class to indicate ring-type of a polygon's exterior ring/interior rings.
+<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<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></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>typedef XXX type (e.g. <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></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>&nbsp;</td><td>geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="core_2ring__type_8hpp_source.html#l00038">38</a> of file <a class="el" href="core_2ring__type_8hpp_source.html">ring_type.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::tag&lt; Geometry &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1traits_1_1tag.html">ggl::traits::tag&lt; Geometry &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a> typedef</td><td><a class="el" href="structggl_1_1traits_1_1tag.html">ggl::traits::tag&lt; Geometry &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1tag.html">tag</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::tag&lt; Geometry &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::tag" -->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.
+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_1geometry__not__recognized__tag.html">geometry_not_recognized_tag</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename Geometry&gt;<br>
+ struct ggl::traits::tag&lt; Geometry &gt;</h3>
+
+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.
+<p>
+All geometries should implement a <a class="el" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">traits::tag&lt;G&gt;::type</a> metafunction to indicate their own geometry type.<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li>all geometries </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>typedef XXX_tag type; (<a class="el" href="structggl_1_1point__tag.html" title="OGC Point identifying tag.">point_tag</a>, <a class="el" href="structggl_1_1box__tag.html" title="Convenience 2D or 3D box (mbr) identifying tag.">box_tag</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>Geometry</em>&nbsp;</td><td>geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="tag_8hpp_source.html#l00038">38</a> of file <a class="el" href="tag_8hpp_source.html">tag.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="6a33811e99e92e16ae2529e6ecd8a1b6"></a><!-- doxytag: member="ggl::traits::tag::type" ref="6a33811e99e92e16ae2529e6ecd8a1b6" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename Geometry&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1geometry__not__recognized__tag.html">geometry_not_recognized_tag</a> <a class="el" href="structggl_1_1traits_1_1tag.html">ggl::traits::tag</a>&lt; Geometry &gt;::<a class="el" href="structggl_1_1geometry__not__recognized__tag.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="tag_8hpp_source.html#l00040">40</a> of file <a class="el" href="tag_8hpp_source.html">tag.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::tag&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt; Member List</h1>This is the complete list of members for <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&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><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#02acc738dfcd073102d0c33b600556f9">type</a> typedef</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">ggl::traits::tag&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</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_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">tag&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::tag&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt; Struct Template Reference</h1><!-- doxytag: class="ggl::traits::tag&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;" -->
+<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_1point__tag.html">point_tag</a>&nbsp;</td><td class="memItemRight" valign="bottom"><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">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename P&gt;<br>
+ struct ggl::traits::tag&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</h3>
+
+
+<p>Definition at line <a class="el" href="intersection__point_8hpp_source.html#l00207">207</a> of file <a class="el" href="intersection__point_8hpp_source.html">intersection_point.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="02acc738dfcd073102d0c33b600556f9"></a><!-- doxytag: member="ggl::traits::tag&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;::type" ref="02acc738dfcd073102d0c33b600556f9" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename P &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1point__tag.html">point_tag</a> <a class="el" href="structggl_1_1traits_1_1tag.html">ggl::traits::tag</a>&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;::<a class="el" href="structggl_1_1point__tag.html">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="intersection__point_8hpp_source.html#l00209">209</a> of file <a class="el" href="intersection__point_8hpp_source.html">intersection_point.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std-members.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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::use_std&lt; G &gt; Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1traits_1_1use__std.html">ggl::traits::use_std&lt; G &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1traits_1_1use__std.html#17f62fd601472a4c970adeda2281f145">value</a></td><td><a class="el" href="structggl_1_1traits_1_1use__std.html">ggl::traits::use_std&lt; G &gt;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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_1use__std.html">use_std</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::use_std&lt; G &gt; Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::use_std" -->Traits class, optional, indicating that the std-library should be used.
+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 bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1use__std.html#17f62fd601472a4c970adeda2281f145">value</a> = true</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename G&gt;<br>
+ struct ggl::traits::use_std&lt; G &gt;</h3>
+
+Traits class, optional, indicating that the std-library should be used.
+<p>
+The default 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>, ring, multi*) follow std:: for its modifying operations (push_back, <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a>, size, resize, reserve, etc) If they NOT follow the std:: library they should specialize this <a class="el" href="namespaceggl_1_1traits.html">traits</a> class<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li><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></li><li><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> </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>value (defaults to true) </li></ul>
+</dd></dl>
+
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00076">76</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="17f62fd601472a4c970adeda2281f145"></a><!-- doxytag: member="ggl::traits::use_std::value" ref="17f62fd601472a4c970adeda2281f145" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename G &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const bool <a class="el" href="structggl_1_1traits_1_1use__std.html">ggl::traits::use_std</a>&lt; G &gt;::<a class="el" href="structggl_1_1traits_1_1use__std.html#17f62fd601472a4c970adeda2281f145">value</a> = true<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00078">78</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+
+</div>
+</div><p>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tab_b.gif
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tab_l.gif
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tab_r.gif
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tabs.css
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tabs.css 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,105 @@
+/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
+
+DIV.tabs
+{
+ float : left;
+ width : 100%;
+ background : url("tab_b.gif") repeat-x bottom;
+ margin-bottom : 4px;
+}
+
+DIV.tabs UL
+{
+ margin : 0px;
+ padding-left : 10px;
+ list-style : none;
+}
+
+DIV.tabs LI, DIV.tabs FORM
+{
+ display : inline;
+ margin : 0px;
+ padding : 0px;
+}
+
+DIV.tabs FORM
+{
+ float : right;
+}
+
+DIV.tabs A
+{
+ float : left;
+ background : url("tab_r.gif") no-repeat right top;
+ border-bottom : 1px solid #84B0C7;
+ font-size : 80%;
+ font-weight : bold;
+ text-decoration : none;
+}
+
+DIV.tabs A:hover
+{
+ background-position: 100% -150px;
+}
+
+DIV.tabs A:link, DIV.tabs A:visited,
+DIV.tabs A:active, DIV.tabs A:hover
+{
+ color: #1A419D;
+}
+
+DIV.tabs SPAN
+{
+ float : left;
+ display : block;
+ background : url("tab_l.gif") no-repeat left top;
+ padding : 5px 9px;
+ white-space : nowrap;
+}
+
+DIV.tabs INPUT
+{
+ float : right;
+ display : inline;
+ font-size : 1em;
+}
+
+DIV.tabs TD
+{
+ font-size : 80%;
+ font-weight : bold;
+ text-decoration : none;
+}
+
+
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+DIV.tabs SPAN {float : none;}
+/* End IE5-Mac hack */
+
+DIV.tabs A:hover SPAN
+{
+ background-position: 0% -150px;
+}
+
+DIV.tabs LI.current A
+{
+ background-position: 100% -150px;
+ border-width : 0px;
+}
+
+DIV.tabs LI.current SPAN
+{
+ background-position: 0% -150px;
+ padding-bottom : 6px;
+}
+
+DIV.navpath
+{
+ background : none;
+ border : none;
+ border-bottom : 1px solid #84B0C7;
+ text-align : center;
+ margin : 2px;
+ padding : 2px;
+}

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tag_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tag_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/tag.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1tag.html">ggl::tag&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function to get the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of any geometry type. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1tag.html">ggl::traits::tag&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tag_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tag_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,107 @@
+<!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">
+&nbsp;&nbsp;
+</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/tag.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_CORE_TAG_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_TAG_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/type_traits/remove_const.hpp&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<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="keyword">namespace </span>traits
+<a name="l00024"></a>00024 {
+<a name="l00025"></a>00025
+<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00038"></a><a class="code" href="structggl_1_1traits_1_1tag.html">00038</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">tag</a>
+<a name="l00039"></a>00039 {
+<a name="l00040"></a><a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">00040</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">geometry_not_recognized_tag</a> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">type</a>;
+<a name="l00041"></a>00041 };
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 } <span class="comment">// namespace traits</span>
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00055"></a><a class="code" href="structggl_1_1tag.html">00055</a> <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 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_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">traits::tag</a>
+<a name="l00058"></a>00058 &lt;
+<a name="l00059"></a>00059 <span class="keyword">typename</span> boost::remove_const&lt;Geometry&gt;::type
+<a name="l00060"></a><a class="code" href="structggl_1_1tag.html#278f0697dbc88a94726215f401e87179">00060</a> &gt;<a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">::type</a> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">type</a>;
+<a name="l00061"></a>00061 };
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 } <span class="comment">// namespace ggl</span>
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="preprocessor">#endif // GGL_CORE_TAG_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/traverse_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/traverse_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,80 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/traverse.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 &nbsp;</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&lt;typename GeometryOut , typename Geometry1 , typename Geometry2 , typename IntersectionPoints , typename OutputIterator &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d">ggl::traverse</a> (Geometry1 const &amp;geometry1, Geometry2 const &amp;geometry2, int direction, IntersectionPoints &amp;intersection_points, bool trivial, OutputIterator out)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traverses through intersection points / geometries. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/traverse_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/traverse_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,498 @@
+<!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">
+&nbsp;&nbsp;
+</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/algorithms/overlay/traverse.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_ALGORITHMS_OVERLAY_TRAVERSE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_OVERLAY_TRAVERSE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="copy__segments_8hpp.html">ggl/algorithms/overlay/copy_segments.hpp</a>&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#include &lt;ggl/extensions/gis/io/wkt/write_wkt.hpp&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#endif</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_NONE = 0;
+<a name="l00034"></a>00034 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_START = 1;
+<a name="l00035"></a>00035 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_VISITED = 2;
+<a name="l00036"></a>00036 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_FINISH = 3;
+<a name="l00037"></a>00037 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_WITHIN = 4;
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">template</span>
+<a name="l00041"></a>00041 &lt;
+<a name="l00042"></a>00042 <span class="keyword">typename</span> IntersectionPoint,
+<a name="l00043"></a>00043 <span class="keyword">typename</span> IntersectionInfo
+<a name="l00044"></a>00044 &gt;
+<a name="l00045"></a>00045 <span class="keyword">struct </span>on_direction
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 on_direction(IntersectionPoint <span class="keyword">const</span>&amp; ip, <span class="keywordtype">int</span> direction)
+<a name="l00048"></a>00048 : m_ip(ip)
+<a name="l00049"></a>00049 , m_direction(direction)
+<a name="l00050"></a>00050 {}
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="comment">// TEMP: convenient COPY of side</span>
+<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> P&gt;
+<a name="l00054"></a>00054 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> side(P1 <span class="keyword">const</span>&amp; p1, P2 <span class="keyword">const</span>&amp; p2, P <span class="keyword">const</span>&amp; p)
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type&lt;P, P1&gt;::type T;
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 T dx = get&lt;0&gt;(p2) - get&lt;0&gt;(p1);
+<a name="l00059"></a>00059 T dy = get&lt;1&gt;(p2) - get&lt;1&gt;(p1);
+<a name="l00060"></a>00060 T dpx = get&lt;0&gt;(p) - get&lt;0&gt;(p1);
+<a name="l00061"></a>00061 T dpy = get&lt;1&gt;(p) - get&lt;1&gt;(p1);
+<a name="l00062"></a>00062 T product = dx * dpy - dy * dpx;
+<a name="l00063"></a>00063 <span class="keywordflow">return</span> product &gt; 0 ? 1 : product &lt; 0 ? -1 : 0;
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(IntersectionInfo <span class="keyword">const</span>&amp; first, IntersectionInfo <span class="keyword">const</span>&amp; second)<span class="keyword"> const</span>
+<a name="l00067"></a>00067 <span class="keyword"> </span>{
+<a name="l00068"></a>00068 <span class="keywordtype">int</span> dir = side(m_ip, first-&gt;other_point, second-&gt;other_point);
+<a name="l00069"></a>00069 <span class="keywordflow">return</span> m_direction == dir;
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">private</span> :
+<a name="l00073"></a>00073 IntersectionPoint <span class="keyword">const</span>&amp; m_ip;
+<a name="l00074"></a>00074 <span class="keywordtype">int</span> m_direction;
+<a name="l00075"></a>00075 };
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="keyword">template</span>
+<a name="l00079"></a>00079 &lt;
+<a name="l00080"></a>00080 <span class="keyword">typename</span> GeometryOut,
+<a name="l00081"></a>00081 <span class="keyword">typename</span> G1,
+<a name="l00082"></a>00082 <span class="keyword">typename</span> G2,
+<a name="l00083"></a>00083 <span class="keyword">typename</span> IntersectionPoints,
+<a name="l00084"></a>00084 <span class="keyword">typename</span> IntersectionInfo
+<a name="l00085"></a>00085 &gt;
+<a name="l00086"></a>00086 <span class="keyword">inline</span> <span class="keywordtype">bool</span> assign_next_ip(G1 <span class="keyword">const</span>&amp; g1, G2 <span class="keyword">const</span>&amp; g2, <span class="keywordtype">int</span> direction,
+<a name="l00087"></a>00087 IntersectionPoints&amp; intersection_points,
+<a name="l00088"></a>00088 <span class="keyword">typename</span> boost::range_iterator&lt;IntersectionPoints&gt;::type &amp; ip,
+<a name="l00089"></a>00089 GeometryOut&amp; current_output,
+<a name="l00090"></a>00090 IntersectionInfo &amp; info)
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 info.visit_code = VISIT_VISITED;
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00095"></a>00095 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">" take: "</span> &lt;&lt; info &lt;&lt; std::endl;
+<a name="l00096"></a>00096 <span class="preprocessor">#endif</span>
+<a name="l00097"></a>00097 <span class="preprocessor"></span>
+<a name="l00098"></a>00098 <span class="comment">// If there is no next IP on this segment</span>
+<a name="l00099"></a>00099 <span class="keywordflow">if</span> (info.next_ip_index &lt; 0)
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 <span class="keywordflow">if</span> (info.seg_id.source_index == 0)
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">ggl::copy_segments</a>(g1, info.seg_id,
+<a name="l00104"></a>00104 info.travels_to_vertex_index,
+<a name="l00105"></a>00105 current_output);
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107 <span class="keywordflow">else</span>
+<a name="l00108"></a>00108 {
+<a name="l00109"></a>00109 <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">ggl::copy_segments</a>(g2, info.seg_id,
+<a name="l00110"></a>00110 info.travels_to_vertex_index,
+<a name="l00111"></a>00111 current_output);
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113 ip = boost::begin(intersection_points) + info.travels_to_ip_index;
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115 <span class="keywordflow">else</span>
+<a name="l00116"></a>00116 {
+<a name="l00117"></a>00117 ip = boost::begin(intersection_points) + info.next_ip_index;
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119 current_output.push_back(ip-&gt;point);
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Info&gt;
+<a name="l00125"></a>00125 <span class="keyword">inline</span> <span class="keywordtype">bool</span> turning(Info <span class="keyword">const</span>&amp; info, <span class="keywordtype">int</span> direction)
+<a name="l00126"></a>00126 {
+<a name="l00127"></a>00127 <span class="comment">// If it is turning in specified direction (RIGHT for intersection,</span>
+<a name="l00128"></a>00128 <span class="comment">// LEFT for union, and NOT arriving at that point</span>
+<a name="l00129"></a>00129 <span class="keywordflow">return</span> info.direction == direction
+<a name="l00130"></a>00130 &amp;&amp; info.arrival != 1
+<a name="l00131"></a>00131 <span class="comment">//&amp;&amp; (! (info.how == 'a' &amp;&amp; info.direction != 0))</span>
+<a name="l00132"></a>00132 ;
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keyword">template</span>
+<a name="l00136"></a>00136 &lt;
+<a name="l00137"></a>00137 <span class="keyword">typename</span> GeometryOut,
+<a name="l00138"></a>00138 <span class="keyword">typename</span> G1,
+<a name="l00139"></a>00139 <span class="keyword">typename</span> G2,
+<a name="l00140"></a>00140 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00141"></a>00141 &gt;
+<a name="l00142"></a>00142 <span class="keyword">inline</span> <span class="keywordtype">bool</span> select_next_ip_trivial(G1 <span class="keyword">const</span>&amp; g1, G2 <span class="keyword">const</span>&amp; g2, <span class="keywordtype">int</span> direction,
+<a name="l00143"></a>00143 IntersectionPoints&amp; intersection_points,
+<a name="l00144"></a>00144 <span class="keyword">typename</span> boost::range_iterator&lt;IntersectionPoints&gt;::type &amp; ip,
+<a name="l00145"></a>00145 GeometryOut&amp; current_output)
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 <span class="comment">// Check all intersecting segments on this IP:</span>
+<a name="l00148"></a>00148 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;IntersectionPoints&gt;::type ip_type;
+<a name="l00149"></a>00149 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector tv;
+<a name="l00150"></a>00150 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;tv&gt;::type tit_type;
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="keywordflow">for</span> (tit_type it = boost::begin(ip-&gt;info); it != boost::end(ip-&gt;info); ++it)
+<a name="l00153"></a>00153 {
+<a name="l00154"></a>00154 <span class="keywordflow">if</span> (turning(*it, direction))
+<a name="l00155"></a>00155 {
+<a name="l00156"></a>00156 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction,
+<a name="l00157"></a>00157 intersection_points, ip, current_output, *it);
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159 }
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00162"></a>00162 }
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 <span class="keyword">template</span>
+<a name="l00166"></a>00166 &lt;
+<a name="l00167"></a>00167 <span class="keyword">typename</span> GeometryOut,
+<a name="l00168"></a>00168 <span class="keyword">typename</span> G1,
+<a name="l00169"></a>00169 <span class="keyword">typename</span> G2,
+<a name="l00170"></a>00170 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00171"></a>00171 &gt;
+<a name="l00172"></a>00172 <span class="keyword">inline</span> <span class="keywordtype">bool</span> select_next_ip_with_sorting(G1 <span class="keyword">const</span>&amp; g1, G2 <span class="keyword">const</span>&amp; g2,
+<a name="l00173"></a>00173 <span class="keywordtype">int</span> direction,
+<a name="l00174"></a>00174 IntersectionPoints&amp; intersection_points,
+<a name="l00175"></a>00175 <span class="keyword">typename</span> boost::range_iterator&lt;IntersectionPoints&gt;::type &amp; ip,
+<a name="l00176"></a>00176 GeometryOut&amp; current_output)
+<a name="l00177"></a>00177 {
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;IntersectionPoints&gt;::type ip_type;
+<a name="l00180"></a>00180 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector tv;
+<a name="l00181"></a>00181 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;tv&gt;::type tit_type;
+<a name="l00182"></a>00182 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_type info_type;
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 std::vector&lt;info_type*&gt; info;
+<a name="l00185"></a>00185 <span class="keywordflow">for</span> (tit_type it = boost::begin(ip-&gt;info); it != boost::end(ip-&gt;info); ++it)
+<a name="l00186"></a>00186 {
+<a name="l00187"></a>00187 <span class="keywordflow">if</span> (turning(*it, direction))
+<a name="l00188"></a>00188 {
+<a name="l00189"></a>00189 info.push_back(&amp;(*it));
+<a name="l00190"></a>00190 }
+<a name="l00191"></a>00191 }
+<a name="l00192"></a>00192
+<a name="l00193"></a>00193 <span class="comment">// If there are no intersection points, fall-back to collinear cases or</span>
+<a name="l00194"></a>00194 <span class="comment">// if already in that case, return false.</span>
+<a name="l00195"></a>00195 <span class="keywordflow">if</span> (boost::size(info) == 0)
+<a name="l00196"></a>00196 {
+<a name="l00197"></a>00197 <span class="keywordflow">return</span> direction == 0
+<a name="l00198"></a>00198 ? <span class="keyword">false</span>
+<a name="l00199"></a>00199 : select_next_ip_with_sorting(g1, g2, 0,
+<a name="l00200"></a>00200 intersection_points, ip, current_output);
+<a name="l00201"></a>00201 }
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203 <span class="comment">// For one IP, it is easy: take that one.</span>
+<a name="l00204"></a>00204 <span class="keywordflow">if</span> (boost::size(info) == 1)
+<a name="l00205"></a>00205 {
+<a name="l00206"></a>00206 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction,
+<a name="l00207"></a>00207 intersection_points, ip, current_output, *info.front());
+<a name="l00208"></a>00208 }
+<a name="l00209"></a>00209
+<a name="l00210"></a>00210 <span class="comment">// In case of direction 0, also take first one</span>
+<a name="l00211"></a>00211 <span class="comment">// TODO: sort this vector somehow, there are more rows, it is too</span>
+<a name="l00212"></a>00212 <span class="comment">// arbitrary to take first one (though working well)</span>
+<a name="l00213"></a>00213 <span class="keywordflow">if</span> (direction == 0)
+<a name="l00214"></a>00214 {
+<a name="l00215"></a>00215 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction,
+<a name="l00216"></a>00216 intersection_points, ip, current_output, *info.front());
+<a name="l00217"></a>00217 }
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219
+<a name="l00220"></a>00220 <span class="comment">// For more, sort the information on direction, take the most left / right one</span>
+<a name="l00221"></a>00221 <span class="comment">//std::cout &lt;&lt; " " &lt;&lt; boost::size(info);</span>
+<a name="l00222"></a>00222 std::sort(info.begin(), info.end(), on_direction&lt;ip_type, info_type*&gt;(*ip, direction));
+<a name="l00223"></a>00223 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction, intersection_points, ip, current_output, *info.back());
+<a name="l00224"></a>00224 }
+<a name="l00225"></a>00225
+<a name="l00226"></a>00226 <span class="keyword">template</span>
+<a name="l00227"></a>00227 &lt;
+<a name="l00228"></a>00228 <span class="keyword">typename</span> GeometryOut,
+<a name="l00229"></a>00229 <span class="keyword">typename</span> G1,
+<a name="l00230"></a>00230 <span class="keyword">typename</span> G2,
+<a name="l00231"></a>00231 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00232"></a>00232 &gt;
+<a name="l00233"></a>00233 <span class="keyword">inline</span> <span class="keywordtype">bool</span> select_next_ip(G1 <span class="keyword">const</span>&amp; g1, G2 <span class="keyword">const</span>&amp; g2, <span class="keywordtype">int</span> direction,
+<a name="l00234"></a>00234 IntersectionPoints&amp; intersection_points,
+<a name="l00235"></a>00235 <span class="keyword">typename</span> boost::range_iterator&lt;IntersectionPoints&gt;::type &amp; ip,
+<a name="l00236"></a>00236 GeometryOut&amp; current_output)
+<a name="l00237"></a>00237 {
+<a name="l00238"></a>00238 <span class="keywordflow">if</span> (ip-&gt;trivial)
+<a name="l00239"></a>00239 {
+<a name="l00240"></a>00240 <span class="keywordflow">return</span> select_next_ip_trivial(g1, g2, direction, intersection_points,
+<a name="l00241"></a>00241 ip, current_output);
+<a name="l00242"></a>00242 }
+<a name="l00243"></a>00243 <span class="keywordflow">else</span>
+<a name="l00244"></a>00244 {
+<a name="l00245"></a>00245 <span class="keywordflow">return</span> select_next_ip_with_sorting(g1, g2, direction, intersection_points,
+<a name="l00246"></a>00246 ip, current_output);
+<a name="l00247"></a>00247 }
+<a name="l00248"></a>00248 }
+<a name="l00249"></a>00249
+<a name="l00250"></a>00250
+<a name="l00251"></a>00251 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>&gt;
+<a name="l00252"></a>00252 <span class="keyword">inline</span> <span class="keywordtype">bool</span> is_starting_point(IntersectionPoint <span class="keyword">const</span>&amp; ip, <span class="keywordtype">int</span> direction)
+<a name="l00253"></a>00253 {
+<a name="l00254"></a>00254 <span class="keywordflow">for</span> (<span class="keyword">typename</span> IntersectionPoint::traversal_vector::const_iterator it
+<a name="l00255"></a>00255 = boost::begin(ip.info); it != boost::end(ip.info); ++it)
+<a name="l00256"></a>00256 {
+<a name="l00257"></a>00257 <span class="keywordflow">if</span> (it-&gt;direction == direction
+<a name="l00258"></a>00258 &amp;&amp; it-&gt;arrival != 1)
+<a name="l00259"></a>00259 {
+<a name="l00260"></a>00260 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00261"></a>00261 }
+<a name="l00262"></a>00262 }
+<a name="l00263"></a>00263 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00264"></a>00264 }
+<a name="l00265"></a>00265
+<a name="l00266"></a>00266
+<a name="l00267"></a>00267 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Container&gt;
+<a name="l00268"></a>00268 <span class="keyword">inline</span> <span class="keywordtype">void</span> stop_gracefully(Container&amp; container, <span class="keywordtype">bool</span>&amp; stop,
+<a name="l00269"></a>00269 std::string <span class="keyword">const</span>&amp; reason)
+<a name="l00270"></a>00270 {
+<a name="l00271"></a>00271 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00272"></a>00272 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"STOPPING: "</span> &lt;&lt; reason &lt;&lt; std::endl;
+<a name="l00273"></a>00273 <span class="preprocessor">#endif</span>
+<a name="l00274"></a>00274 <span class="preprocessor"></span>
+<a name="l00275"></a>00275 stop = <span class="keyword">true</span>;
+<a name="l00276"></a>00276 <span class="keywordflow">if</span> (container.size() &gt; 0)
+<a name="l00277"></a>00277 {
+<a name="l00278"></a>00278 container.push_back(container.front());
+<a name="l00279"></a>00279 }
+<a name="l00280"></a>00280 }
+<a name="l00281"></a>00281
+<a name="l00282"></a>00282 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00283"></a>00283 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00284"></a>00284 <span class="preprocessor"></span>
+<a name="l00285"></a>00285
+<a name="l00286"></a>00286
+<a name="l00287"></a>00287
+<a name="l00288"></a>00288
+<a name="l00289"></a>00289
+<a name="l00294"></a>00294 <span class="keyword">template</span>
+<a name="l00295"></a>00295 &lt;
+<a name="l00296"></a>00296 <span class="keyword">typename</span> GeometryOut,
+<a name="l00297"></a>00297 <span class="keyword">typename</span> Geometry1,
+<a name="l00298"></a>00298 <span class="keyword">typename</span> Geometry2,
+<a name="l00299"></a>00299 <span class="keyword">typename</span> IntersectionPoints,
+<a name="l00300"></a>00300 <span class="keyword">typename</span> OutputIterator
+<a name="l00301"></a>00301 &gt;
+<a name="l00302"></a><a class="code" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d">00302</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d" title="Traverses through intersection points / geometries.">traverse</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00303"></a>00303 Geometry2 <span class="keyword">const</span>&amp; geometry2, <span class="keywordtype">int</span> direction,
+<a name="l00304"></a>00304 IntersectionPoints&amp; intersection_points,
+<a name="l00305"></a>00305 <span class="keywordtype">bool</span> trivial,
+<a name="l00306"></a>00306 OutputIterator out)
+<a name="l00307"></a>00307 {
+<a name="l00308"></a>00308 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
+<a name="l00309"></a>00309 &lt;IntersectionPoints&gt;::type ip_iterator;
+<a name="l00310"></a>00310
+<a name="l00311"></a>00311 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;IntersectionPoints&gt;::type ip_type;
+<a name="l00312"></a>00312 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector tv;
+<a name="l00313"></a>00313 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;tv&gt;::type tit_type;
+<a name="l00314"></a>00314 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_type info_type;
+<a name="l00315"></a>00315
+<a name="l00316"></a>00316
+<a name="l00317"></a>00317
+<a name="l00318"></a>00318 GeometryOut current_output;
+<a name="l00319"></a>00319
+<a name="l00320"></a>00320
+<a name="l00321"></a>00321 <span class="comment">// Iterate through all unvisited points</span>
+<a name="l00322"></a>00322 <span class="keywordflow">for</span> (ip_iterator it = boost::begin(intersection_points);
+<a name="l00323"></a>00323 it != boost::end(intersection_points);
+<a name="l00324"></a>00324 ++it)
+<a name="l00325"></a>00325 {
+<a name="l00326"></a>00326 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00327"></a>00327 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"TRY traversal: "</span> &lt;&lt; *it;
+<a name="l00328"></a>00328 <span class="preprocessor">#endif</span>
+<a name="l00329"></a>00329 <span class="preprocessor"></span>
+<a name="l00330"></a>00330 <span class="keywordflow">if</span> (it-&gt;visit_code == detail::intersection::VISIT_NONE
+<a name="l00331"></a>00331 <span class="comment">// UNION may operate on non-starting points, but INTERSECTION may not.</span>
+<a name="l00332"></a>00332 <span class="comment">// TODO: re-evaluate that</span>
+<a name="l00333"></a>00333 &amp;&amp; (direction == 1
+<a name="l00334"></a>00334 || detail::intersection::is_starting_point(*it, direction)
+<a name="l00335"></a>00335 )
+<a name="l00336"></a>00336 )
+<a name="l00337"></a>00337 {
+<a name="l00338"></a>00338 <span class="keywordflow">for</span> (tit_type iit = boost::begin(it-&gt;info);
+<a name="l00339"></a>00339 iit != boost::end(it-&gt;info);
+<a name="l00340"></a>00340 ++iit)
+<a name="l00341"></a>00341 {
+<a name="l00342"></a>00342 <span class="keywordflow">if</span> (iit-&gt;arrival == -1
+<a name="l00343"></a>00343 &amp;&amp; iit-&gt;visit_code == detail::intersection::VISIT_NONE
+<a name="l00344"></a>00344 &amp;&amp; iit-&gt;direction == direction)
+<a name="l00345"></a>00345 {
+<a name="l00346"></a>00346 it-&gt;visit_code = detail::intersection::VISIT_START;
+<a name="l00347"></a>00347 iit-&gt;visit_code = detail::intersection::VISIT_START;
+<a name="l00348"></a>00348
+<a name="l00349"></a>00349 current_output.push_back(it-&gt;point);
+<a name="l00350"></a>00350
+<a name="l00351"></a>00351 ip_iterator current = it;
+<a name="l00352"></a>00352
+<a name="l00353"></a>00353 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00354"></a>00354 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"START traversal: "</span> &lt;&lt; *current;
+<a name="l00355"></a>00355 <span class="preprocessor">#endif</span>
+<a name="l00356"></a>00356 <span class="preprocessor"></span>
+<a name="l00357"></a>00357 detail::intersection::assign_next_ip(geometry1, geometry2,
+<a name="l00358"></a>00358 direction,
+<a name="l00359"></a>00359 intersection_points,
+<a name="l00360"></a>00360 current, current_output, *iit);
+<a name="l00361"></a>00361
+<a name="l00362"></a>00362 std::vector&lt;segment_identifier&gt; segments;
+<a name="l00363"></a>00363 segments.push_back(iit-&gt;seg_id);
+<a name="l00364"></a>00364
+<a name="l00365"></a>00365 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0;
+<a name="l00366"></a>00366 <span class="keywordtype">bool</span> stop = <span class="keyword">false</span>;
+<a name="l00367"></a>00367
+<a name="l00368"></a>00368 <span class="keywordflow">while</span> (current != it &amp;&amp; ! stop)
+<a name="l00369"></a>00369 {
+<a name="l00370"></a>00370 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00371"></a>00371 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"traverse: "</span> &lt;&lt; *current;
+<a name="l00372"></a>00372 <span class="preprocessor">#endif</span>
+<a name="l00373"></a>00373 <span class="preprocessor"></span>
+<a name="l00374"></a>00374 <span class="comment">// We assume clockwise polygons only, non self-intersecting, closed.</span>
+<a name="l00375"></a>00375 <span class="comment">// However, the input might be different, and checking validity</span>
+<a name="l00376"></a>00376 <span class="comment">// is up to the library user.</span>
+<a name="l00377"></a>00377
+<a name="l00378"></a>00378 <span class="comment">// Therefore we make here some sanity checks. If the input</span>
+<a name="l00379"></a>00379 <span class="comment">// violates the assumptions, the output polygon will not be correct</span>
+<a name="l00380"></a>00380 <span class="comment">// but the routine will stop and output the current polygon, and</span>
+<a name="l00381"></a>00381 <span class="comment">// will continue with the next one.</span>
+<a name="l00382"></a>00382
+<a name="l00383"></a>00383 <span class="comment">// Below three reasons to stop.</span>
+<a name="l00384"></a>00384 <span class="keywordflow">if</span> (! detail::intersection::select_next_ip(geometry1,
+<a name="l00385"></a>00385 geometry2, direction,
+<a name="l00386"></a>00386 intersection_points,
+<a name="l00387"></a>00387 current, current_output))
+<a name="l00388"></a>00388 {
+<a name="l00389"></a>00389 <span class="comment">// Should not occur in valid (non-self-intersecting) polygons</span>
+<a name="l00390"></a>00390 <span class="comment">// Should not occur in self-intersecting polygons without spikes</span>
+<a name="l00391"></a>00391 <span class="comment">// Might occur in polygons with spikes</span>
+<a name="l00392"></a>00392 detail::intersection::stop_gracefully(
+<a name="l00393"></a>00393 current_output, stop, <span class="stringliteral">"Dead end"</span>);
+<a name="l00394"></a>00394 }
+<a name="l00395"></a>00395
+<a name="l00396"></a>00396 <span class="keywordflow">if</span> (current-&gt;visit_code == detail::intersection::VISIT_VISITED)
+<a name="l00397"></a>00397 {
+<a name="l00398"></a>00398 <span class="comment">// It visits a visited node again, without passing the start node.</span>
+<a name="l00399"></a>00399 <span class="comment">// This makes it suspicious for endless loops</span>
+<a name="l00400"></a>00400 <span class="comment">// Check if it is really same node</span>
+<a name="l00401"></a>00401 detail::intersection::stop_gracefully(
+<a name="l00402"></a>00402 current_output, stop, <span class="stringliteral">"Visit again"</span>);
+<a name="l00403"></a>00403 }
+<a name="l00404"></a>00404
+<a name="l00405"></a>00405
+<a name="l00406"></a>00406 <span class="keywordflow">if</span> (i++ &gt; intersection_points.size())
+<a name="l00407"></a>00407 {
+<a name="l00408"></a>00408 <span class="comment">// Sanity check: there may be never more loops</span>
+<a name="l00409"></a>00409 <span class="comment">// than intersection points.</span>
+<a name="l00410"></a>00410 detail::intersection::stop_gracefully(
+<a name="l00411"></a>00411 current_output, stop, <span class="stringliteral">"Endless loop"</span>);
+<a name="l00412"></a>00412 }
+<a name="l00413"></a>00413
+<a name="l00414"></a>00414 current-&gt;visit_code = detail::intersection::VISIT_VISITED;
+<a name="l00415"></a>00415 }
+<a name="l00416"></a>00416
+<a name="l00417"></a>00417 iit-&gt;visit_code = detail::intersection::VISIT_FINISH;
+<a name="l00418"></a>00418
+<a name="l00419"></a>00419 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00420"></a>00420 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"finish: "</span> &lt;&lt; *current;
+<a name="l00421"></a>00421 std::cout &lt;&lt; ggl::wkt(current_output) &lt;&lt; std::endl;
+<a name="l00422"></a>00422 <span class="preprocessor">#endif</span>
+<a name="l00423"></a>00423 <span class="preprocessor"></span>
+<a name="l00424"></a>00424 *out = current_output;
+<a name="l00425"></a>00425 ++out;
+<a name="l00426"></a>00426 current_output.clear();
+<a name="l00427"></a>00427 }
+<a name="l00428"></a>00428 }
+<a name="l00429"></a>00429 it-&gt;visit_code = detail::intersection::VISIT_FINISH;
+<a name="l00430"></a>00430 }
+<a name="l00431"></a>00431 }
+<a name="l00432"></a>00432 }
+<a name="l00433"></a>00433
+<a name="l00434"></a>00434
+<a name="l00435"></a>00435 } <span class="comment">// namespace ggl</span>
+<a name="l00436"></a>00436
+<a name="l00437"></a>00437 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAY_TRAVERSE_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tuple_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tuple_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/adapted/tuple.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tuple_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tuple_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,165 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/adapted/tuple.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_ADAPTED_TUPLE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_ADAPTED_TUPLE_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/tuple/tuple.hpp&gt;</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
+<a name="l00020"></a>00020 {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00024"></a>00024 {
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="comment">// boost::tuple, 2D</span>
+<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00028"></a>00028 <span class="keyword">struct </span>coordinate_type&lt;boost::tuple&lt;T, T&gt; &gt;
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">typedef</span> T type;
+<a name="l00031"></a>00031 };
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00034"></a>00034 <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;boost::tuple&lt;T, T&gt; &gt; : boost::mpl::int_&lt;2&gt; {};
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00037"></a>00037 <span class="keyword">struct </span>access&lt;boost::tuple&lt;T, T&gt; &gt;
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> I&gt;
+<a name="l00040"></a>00040 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> boost::tuple&lt;T, T&gt;&amp; p)
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> p.get&lt;I&gt;();
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> I&gt;
+<a name="l00046"></a>00046 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(boost::tuple&lt;T, T&gt;&amp; p, <span class="keyword">const</span> T&amp; value)
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 p.get&lt;I&gt;() = value;
+<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> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00053"></a>00053 <span class="keyword">struct </span>tag&lt;boost::tuple&lt;T, T&gt; &gt;
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 <span class="keyword">typedef</span> point_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00056"></a>00056 };
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="comment">// boost::tuple, 3D</span>
+<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00060"></a>00060 <span class="keyword">struct </span>coordinate_type&lt;boost::tuple&lt;T, T, T&gt; &gt;
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 <span class="keyword">typedef</span> T type;
+<a name="l00063"></a>00063 };
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00066"></a>00066 <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;boost::tuple&lt;T, T, T&gt; &gt; : boost::mpl::int_&lt;3&gt; {};
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00069"></a>00069 <span class="keyword">struct </span>access&lt;boost::tuple&lt;T, T, T&gt; &gt;
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> I&gt;
+<a name="l00072"></a>00072 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> boost::tuple&lt;T, T, T&gt;&amp; p)
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keywordflow">return</span> p.get&lt;I&gt;();
+<a name="l00075"></a>00075 }
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> I&gt;
+<a name="l00078"></a>00078 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(boost::tuple&lt;T, T, T&gt;&amp; p, <span class="keyword">const</span> T&amp; value)
+<a name="l00079"></a>00079 {
+<a name="l00080"></a>00080 p.get&lt;I&gt;() = value;
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082 };
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00085"></a>00085 <span class="keyword">struct </span>tag&lt;boost::tuple&lt;T, T, T&gt; &gt;
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="keyword">typedef</span> point_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00088"></a>00088 };
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <span class="comment">// The library user has</span>
+<a name="l00091"></a>00091 <span class="comment">// 1) either to specify the coordinate system using a traits class</span>
+<a name="l00092"></a>00092 <span class="comment">// 2) or include &lt;ggl/geometries/adapted/tuple__at_.hpp&gt; where @=cartesian,geographic,...</span>
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 } <span class="comment">// namespace traits</span>
+<a name="l00095"></a>00095 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00096"></a>00096 <span class="preprocessor"></span>
+<a name="l00097"></a>00097 } <span class="comment">// namespace ggl</span>
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="preprocessor">#endif // GGL_GEOMETRIES_ADAPTED_TUPLE_HPP</span>
+<a name="l00100"></a>00100 <span class="preprocessor"></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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tuple__cartesian_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tuple__cartesian_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,96 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/adapted/tuple_cartesian.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tuple__cartesian_8hpp.html#31dec549d310b8a6dee715ba486c7417">GGL_ADAPTED_TUPLE_COORDINATE_SYSTEM_DEFINED</a></td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="31dec549d310b8a6dee715ba486c7417"></a><!-- doxytag: member="tuple_cartesian.hpp::GGL_ADAPTED_TUPLE_COORDINATE_SYSTEM_DEFINED" ref="31dec549d310b8a6dee715ba486c7417" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GGL_ADAPTED_TUPLE_COORDINATE_SYSTEM_DEFINED </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="tuple__cartesian_8hpp_source.html#l00017">17</a> of file <a class="el" href="tuple__cartesian_8hpp_source.html">tuple_cartesian.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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tuple__cartesian_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tuple__cartesian_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,106 @@
+<!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">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/adapted/tuple_cartesian.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_ADAPTED_TUPLE_CARTESIAN_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ADAPTED_TUPLE_CARTESIAN_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#ifdef _GEOMETRY_ADAPTED_TUPLE_COORDINATE_SYSTEM_DEFINED</span>
+<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#error Include only one headerfile to register coordinate coordinate_system for adapted tuple</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span>
+<a name="l00017"></a><a class="code" href="tuple__cartesian_8hpp.html#31dec549d310b8a6dee715ba486c7417">00017</a> <span class="preprocessor">#define GGL_ADAPTED_TUPLE_COORDINATE_SYSTEM_DEFINED</span>
+<a name="l00018"></a>00018 <span class="preprocessor"></span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="tuple_8hpp.html">ggl/geometries/adapted/tuple.hpp</a>&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>ggl
+<a name="l00024"></a>00024 {
+<a name="l00025"></a>00025 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00029"></a>00029 <span class="keyword">struct </span>coordinate_system&lt;boost::tuple&lt;T, T&gt; &gt;
+<a name="l00030"></a>00030 { <span class="keyword">typedef</span> cs::cartesian type; };
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00033"></a>00033 <span class="keyword">struct </span>coordinate_system&lt;boost::tuple&lt;T, T, T&gt; &gt;
+<a name="l00034"></a>00034 { <span class="keyword">typedef</span> cs::cartesian type; };
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037 <span class="preprocessor">#endif</span>
+<a name="l00038"></a>00038 <span class="preprocessor"></span>}
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="preprocessor">#endif</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tupled_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tupled_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,82 @@
+<!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">
+&nbsp;&nbsp;
+</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/policies/relate/tupled.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled&lt; Policy1, Policy2 &gt;</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1policies.html">ggl::policies</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tupled_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tupled_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,219 @@
+<!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">
+&nbsp;&nbsp;
+</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/policies/relate/tupled.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_GEOMETRY_POLICIES_RELATE_TUPLED_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRY_POLICIES_RELATE_TUPLED_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/tuple/tuple.hpp&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="keyword">namespace </span>ggl
+<a name="l00016"></a>00016 {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="keyword">namespace </span>policies { <span class="keyword">namespace </span>relate {
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="comment">// "tupled" to return intersection results together.</span>
+<a name="l00022"></a>00022 <span class="comment">// Now with two, with some meta-programming and derivations it can also be three (or more)</span>
+<a name="l00023"></a>00023 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Policy1, <span class="keyword">typename</span> Policy2&gt;
+<a name="l00024"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">00024</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">segments_tupled</a>
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026 <span class="keyword">typedef</span> boost::tuple
+<a name="l00027"></a>00027 &lt;
+<a name="l00028"></a>00028 <span class="keyword">typename</span> Policy1::return_type,
+<a name="l00029"></a>00029 <span class="keyword">typename</span> Policy2::return_type
+<a name="l00030"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">00030</a> &gt; <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a>;
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="comment">// Take segments of first policy, they should be equal</span>
+<a name="l00033"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">00033</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> Policy1::segment_type1 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a>;
+<a name="l00034"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">00034</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> Policy1::segment_type2 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">segment_type2</a>;
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <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</a>
+<a name="l00037"></a>00037 &lt;
+<a name="l00038"></a>00038 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a>,
+<a name="l00039"></a>00039 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">segment_type2</a>
+<a name="l00040"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#e814cd145873164ae0b9c0c094e20687">00040</a> &gt;::type <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042
+<a name="l00043"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f82c271b6352c8b4df60172f302a90b6">00043</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f82c271b6352c8b4df60172f302a90b6">rays_intersect</a>(<span class="keywordtype">bool</span> on_segment,
+<a name="l00044"></a>00044 <span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> rb,
+<a name="l00045"></a>00045 <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>&amp; dx1, <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>&amp; dy1,
+<a name="l00046"></a>00046 <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>&amp; dx2, <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>&amp; dy2,
+<a name="l00047"></a>00047 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span>&amp; wx, <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>&amp; wy,
+<a name="l00048"></a>00048 <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> <span class="keyword">const</span>&amp; s1, <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">segment_type2</a> <span class="keyword">const</span>&amp; s2)
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keywordflow">return</span> boost::make_tuple
+<a name="l00051"></a>00051 (
+<a name="l00052"></a>00052 Policy1::rays_intersect(on_segment, ra, rb, dx1, dy1, dx2, dy2, wx, wy, s1, s2),
+<a name="l00053"></a>00053 Policy2::rays_intersect(on_segment, ra, rb, dx1, dy1, dx2, dy2, wx, wy, s1, s2)
+<a name="l00054"></a>00054 );
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056
+<a name="l00057"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#047b8574e173fd4ccb5f32dba6adb904">00057</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#047b8574e173fd4ccb5f32dba6adb904">collinear_touch</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>&amp; x,
+<a name="l00058"></a>00058 <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>&amp; y, <span class="keywordtype">bool</span> opposite, <span class="keywordtype">char</span> how)
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keywordflow">return</span> boost::make_tuple
+<a name="l00061"></a>00061 (
+<a name="l00062"></a>00062 Policy1::collinear_touch(x, y, opposite, how),
+<a name="l00063"></a>00063 Policy2::collinear_touch(x, y, opposite, how)
+<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> &lt;<span class="keyword">typename</span> S&gt;
+<a name="l00068"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#036ae4e5762ae6b9f981e7b9d39f0b2a">00068</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#036ae4e5762ae6b9f981e7b9d39f0b2a">collinear_interior_boundary_intersect</a>(S <span class="keyword">const</span>&amp; <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>,
+<a name="l00069"></a>00069 <span class="keywordtype">bool</span> a_within_b, <span class="keywordtype">bool</span> opposite)
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keywordflow">return</span> boost::make_tuple
+<a name="l00072"></a>00072 (
+<a name="l00073"></a>00073 Policy1::collinear_interior_boundary_intersect(segment, a_within_b, opposite),
+<a name="l00074"></a>00074 Policy2::collinear_interior_boundary_intersect(segment, a_within_b, opposite)
+<a name="l00075"></a>00075 );
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077
+<a name="l00078"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#512bec33f0d13ffe8bdcaa7d2c6cd1ec">00078</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#512bec33f0d13ffe8bdcaa7d2c6cd1ec">collinear_a_in_b</a>(<a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> <span class="keyword">const</span>&amp; <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>,
+<a name="l00079"></a>00079 <span class="keywordtype">bool</span> opposite)
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keywordflow">return</span> boost::make_tuple
+<a name="l00082"></a>00082 (
+<a name="l00083"></a>00083 Policy1::collinear_a_in_b(segment, opposite),
+<a name="l00084"></a>00084 Policy2::collinear_a_in_b(segment, opposite)
+<a name="l00085"></a>00085 );
+<a name="l00086"></a>00086 }
+<a name="l00087"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f95f9b1c2e967c260d060c24aabf160f">00087</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f95f9b1c2e967c260d060c24aabf160f">collinear_b_in_a</a>(<a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">segment_type2</a> <span class="keyword">const</span>&amp; <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>,
+<a name="l00088"></a>00088 <span class="keywordtype">bool</span> opposite)
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 <span class="keywordflow">return</span> boost::make_tuple
+<a name="l00091"></a>00091 (
+<a name="l00092"></a>00092 Policy1::collinear_b_in_a(segment, opposite),
+<a name="l00093"></a>00093 Policy2::collinear_b_in_a(segment, opposite)
+<a name="l00094"></a>00094 );
+<a name="l00095"></a>00095 }
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097
+<a name="l00098"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fc31e769602ef50ec62d22ed157554b4">00098</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fc31e769602ef50ec62d22ed157554b4">collinear_overlaps</a>(
+<a name="l00099"></a>00099 <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>&amp; x1, <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>&amp; y1,
+<a name="l00100"></a>00100 <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>&amp; x2, <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>&amp; y2,
+<a name="l00101"></a>00101 <span class="keywordtype">bool</span> opposite)
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="keywordflow">return</span> boost::make_tuple
+<a name="l00104"></a>00104 (
+<a name="l00105"></a>00105 Policy1::collinear_overlaps(x1, y1, x2, y2, opposite),
+<a name="l00106"></a>00106 Policy2::collinear_overlaps(x1, y1, x2, y2, opposite)
+<a name="l00107"></a>00107 );
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109
+<a name="l00110"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#43851ccf0d363d5c0d8a55c520f8c2b8">00110</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#43851ccf0d363d5c0d8a55c520f8c2b8">segment_equal</a>(<a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> <span class="keyword">const</span>&amp; s,
+<a name="l00111"></a>00111 <span class="keywordtype">bool</span> opposite)
+<a name="l00112"></a>00112 {
+<a name="l00113"></a>00113 <span class="keywordflow">return</span> boost::make_tuple
+<a name="l00114"></a>00114 (
+<a name="l00115"></a>00115 Policy1::segment_equal(s, opposite),
+<a name="l00116"></a>00116 Policy2::segment_equal(s, opposite)
+<a name="l00117"></a>00117 );
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119
+<a name="l00120"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#d68c9fa4dbac13be78e0f2d8a099ca6a">00120</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#d68c9fa4dbac13be78e0f2d8a099ca6a">degenerate</a>(<a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">segment_type1</a> <span class="keyword">const</span>&amp; <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>,
+<a name="l00121"></a>00121 <span class="keywordtype">bool</span> a_degenerate)
+<a name="l00122"></a>00122 {
+<a name="l00123"></a>00123 <span class="keywordflow">return</span> boost::make_tuple
+<a name="l00124"></a>00124 (
+<a name="l00125"></a>00125 Policy1::degenerate(segment, a_degenerate),
+<a name="l00126"></a>00126 Policy2::degenerate(segment, a_degenerate)
+<a name="l00127"></a>00127 );
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129
+<a name="l00130"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#7e99a479fc3e9b45db7ab065305dccc6">00130</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#7e99a479fc3e9b45db7ab065305dccc6">collinear_disjoint</a>()
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132 <span class="keywordflow">return</span> boost::make_tuple
+<a name="l00133"></a>00133 (
+<a name="l00134"></a>00134 Policy1::collinear_disjoint(),
+<a name="l00135"></a>00135 Policy2::collinear_disjoint()
+<a name="l00136"></a>00136 );
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139
+<a name="l00140"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#970335edc3c8374463b8c0c4296c87f3">00140</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#970335edc3c8374463b8c0c4296c87f3">parallel</a>()
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 <span class="keywordflow">return</span> boost::make_tuple
+<a name="l00143"></a>00143 (
+<a name="l00144"></a>00144 Policy1::parallel(),
+<a name="l00145"></a>00145 Policy2::parallel()
+<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">// namespace policies::relate</span>
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 } <span class="comment">// namespace ggl</span>
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="preprocessor">#endif // GGL_GEOMETRY_POLICIES_RELATE_TUPLED_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/within_polygon.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/within_ring.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/write_dsv.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1dsv__manipulator.html">ggl::dsv_manipulator&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic geometry template manipulator class, takes corresponding output class from <a class="el" href="namespaceggl_1_1traits.html">traits</a> class. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">dsv_manipulator&lt; Geometry &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4">ggl::dsv</a> (Geometry const &amp;geometry, std::string const &amp;coordinate_separator=&quot;, &quot;, std::string const &amp;point_open=&quot;(&quot;, std::string const &amp;point_close=&quot;)&quot;, std::string const &amp;point_separator=&quot;, &quot;, std::string const &amp;list_open=&quot;(&quot;, std::string const &amp;list_close=&quot;)&quot;, std::string const &amp;list_separator=&quot;, &quot;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main DSV-streaming function. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,398 @@
+<!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">
+&nbsp;&nbsp;
+</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/write_dsv.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_WRITE_DSV_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_WRITE_DSV_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;iostream&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;string&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/concept/assert.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="linear__ring_8hpp.html">ggl/geometries/linear_ring.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a> {
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">struct </span>dsv_settings
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 std::string coordinate_separator;
+<a name="l00039"></a>00039 std::string point_open;
+<a name="l00040"></a>00040 std::string point_close;
+<a name="l00041"></a>00041 std::string point_separator;
+<a name="l00042"></a>00042 std::string list_open;
+<a name="l00043"></a>00043 std::string list_close;
+<a name="l00044"></a>00044 std::string list_separator;
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 dsv_settings(std::string <span class="keyword">const</span>&amp; sep
+<a name="l00047"></a>00047 , std::string <span class="keyword">const</span>&amp; open
+<a name="l00048"></a>00048 , std::string <span class="keyword">const</span>&amp; close
+<a name="l00049"></a>00049 , std::string <span class="keyword">const</span>&amp; psep
+<a name="l00050"></a>00050 , std::string <span class="keyword">const</span>&amp; lopen
+<a name="l00051"></a>00051 , std::string <span class="keyword">const</span>&amp; lclose
+<a name="l00052"></a>00052 , std::string <span class="keyword">const</span>&amp; lsep
+<a name="l00053"></a>00053 )
+<a name="l00054"></a>00054 : coordinate_separator(sep)
+<a name="l00055"></a>00055 , point_open(open)
+<a name="l00056"></a>00056 , point_close(close)
+<a name="l00057"></a>00057 , point_separator(psep)
+<a name="l00058"></a>00058 , list_open(lopen)
+<a name="l00059"></a>00059 , list_close(lclose)
+<a name="l00060"></a>00060 , list_separator(lsep)
+<a name="l00061"></a>00061 {}
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keywordtype">int</span> Dimension, <span class="keywordtype">int</span> Count&gt;
+<a name="l00065"></a>00065 <span class="keyword">struct </span>stream_coordinate
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00068"></a>00068 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp; os, P <span class="keyword">const</span>&amp; p,
+<a name="l00069"></a>00069 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 os &lt;&lt; (Dimension &gt; 0 ? settings.coordinate_separator : <span class="stringliteral">""</span>)
+<a name="l00072"></a>00072 &lt;&lt; get&lt;Dimension&gt;(p);
+<a name="l00073"></a>00073 stream_coordinate&lt;P, Dimension + 1, Count&gt;::apply(os, p, settings);
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075 };
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keywordtype">int</span> Count&gt;
+<a name="l00078"></a>00078 <span class="keyword">struct </span>stream_coordinate&lt;P, Count, Count&gt;
+<a name="l00079"></a>00079 {
+<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00081"></a>00081 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp;, P <span class="keyword">const</span>&amp;,
+<a name="l00082"></a>00082 dsv_settings <span class="keyword">const</span>&amp; settings)
+<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="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keywordtype">int</span> Index, <span class="keywordtype">int</span> Dimension, <span class="keywordtype">int</span> Count&gt;
+<a name="l00088"></a>00088 <span class="keyword">struct </span>stream_box_corner
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00091"></a>00091 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp; os, P <span class="keyword">const</span>&amp; p,
+<a name="l00092"></a>00092 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 os &lt;&lt; (Dimension &gt; 0 ? settings.coordinate_separator : <span class="stringliteral">""</span>)
+<a name="l00095"></a>00095 &lt;&lt; get&lt;Index, Dimension&gt;(p);
+<a name="l00096"></a>00096 stream_box_corner&lt;P, Index, Dimension + 1, Count&gt;::apply(os, p, settings);
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 };
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keywordtype">int</span> Index, <span class="keywordtype">int</span> Count&gt;
+<a name="l00101"></a>00101 <span class="keyword">struct </span>stream_box_corner&lt;P, Index, Count, Count&gt;
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00104"></a>00104 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp;, P <span class="keyword">const</span>&amp;,
+<a name="l00105"></a>00105 dsv_settings <span class="keyword">const</span>&amp; settings)
+<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
+<a name="l00116"></a>00116 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00117"></a>00117 <span class="keyword">struct </span>dsv_point
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00120"></a>00120 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp; os, Point <span class="keyword">const</span>&amp; p,
+<a name="l00121"></a>00121 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00122"></a>00122 {
+<a name="l00123"></a>00123 os &lt;&lt; settings.point_open;
+<a name="l00124"></a>00124 stream_coordinate&lt;Point, 0, dimension&lt;Point&gt;::type::value&gt;::apply(os, p, settings);
+<a name="l00125"></a>00125 os &lt;&lt; settings.point_close;
+<a name="l00126"></a>00126 }
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="keyword">private</span>:
+<a name="l00129"></a>00129 BOOST_CONCEPT_ASSERT( (concept::ConstPoint&lt;Point&gt;) );
+<a name="l00130"></a>00130 };
+<a name="l00131"></a>00131
+<a name="l00136"></a>00136 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range&gt;
+<a name="l00137"></a>00137 <span class="keyword">struct </span>dsv_range
+<a name="l00138"></a>00138 {
+<a name="l00139"></a>00139 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00140"></a>00140 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp; os,
+<a name="l00141"></a>00141 Range <span class="keyword">const</span>&amp; range,
+<a name="l00142"></a>00142 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00143"></a>00143 {
+<a name="l00144"></a>00144 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type iterator_type;
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 os &lt;&lt; settings.list_open;
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="comment">// TODO: check EMPTY here</span>
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="keywordflow">for</span> (iterator_type it = boost::begin(range);
+<a name="l00153"></a>00153 it != boost::end(range);
+<a name="l00154"></a>00154 ++it)
+<a name="l00155"></a>00155 {
+<a name="l00156"></a>00156 os &lt;&lt; (first ? <span class="stringliteral">""</span> : settings.point_separator)
+<a name="l00157"></a>00157 &lt;&lt; settings.point_open;
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 stream_coordinate
+<a name="l00160"></a>00160 &lt;
+<a name="l00161"></a>00161 point, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;point&gt;::type::value</a>
+<a name="l00162"></a>00162 &gt;::apply(os, *it, settings);
+<a name="l00163"></a>00163 os &lt;&lt; settings.point_close;
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 first = <span class="keyword">false</span>;
+<a name="l00166"></a>00166 }
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 os &lt;&lt; settings.list_close;
+<a name="l00169"></a>00169 }
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="keyword">private</span>:
+<a name="l00172"></a>00172 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Range&gt;::type point;
+<a name="l00173"></a>00173 BOOST_CONCEPT_ASSERT( (concept::ConstPoint&lt;point&gt;) );
+<a name="l00174"></a>00174 };
+<a name="l00175"></a>00175
+<a name="l00185"></a>00185 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00186"></a>00186 <span class="keyword">struct </span>dsv_poly
+<a name="l00187"></a>00187 {
+<a name="l00188"></a>00188 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00189"></a>00189 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp; os,
+<a name="l00190"></a>00190 Polygon <span class="keyword">const</span>&amp; poly,
+<a name="l00191"></a>00191 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00192"></a>00192 {
+<a name="l00193"></a>00193 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type ring;
+<a name="l00194"></a>00194 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;
+<a name="l00195"></a>00195 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type&gt;::type iterator;
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 os &lt;&lt; settings.list_open;
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199 dsv_range&lt;ring&gt;::apply(os, <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), settings);
+<a name="l00200"></a>00200 <span class="keywordflow">for</span> (iterator it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00201"></a>00201 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00202"></a>00202 ++it)
+<a name="l00203"></a>00203 {
+<a name="l00204"></a>00204 os &lt;&lt; settings.list_separator;
+<a name="l00205"></a>00205 dsv_range&lt;ring&gt;::apply(os, *it, settings);
+<a name="l00206"></a>00206 }
+<a name="l00207"></a>00207 os &lt;&lt; settings.list_close;
+<a name="l00208"></a>00208 }
+<a name="l00209"></a>00209
+<a name="l00210"></a>00210 <span class="keyword">private</span>:
+<a name="l00211"></a>00211 BOOST_CONCEPT_ASSERT( (concept::ConstPoint&lt;<span class="keyword">typename</span> point_type&lt;Polygon&gt;::type&gt;) );
+<a name="l00212"></a>00212 };
+<a name="l00213"></a>00213
+<a name="l00214"></a>00214 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box, std::<span class="keywordtype">size_t</span> Index&gt;
+<a name="l00215"></a>00215 <span class="keyword">struct </span>dsv_box_corner
+<a name="l00216"></a>00216 {
+<a name="l00217"></a>00217 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Box&gt;::type point_type;
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00220"></a>00220 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp; os,
+<a name="l00221"></a>00221 Box <span class="keyword">const</span>&amp; box,
+<a name="l00222"></a>00222 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00223"></a>00223 {
+<a name="l00224"></a>00224 os &lt;&lt; settings.point_open;
+<a name="l00225"></a>00225 stream_box_corner
+<a name="l00226"></a>00226 &lt;
+<a name="l00227"></a>00227 Box, Index, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension&lt;Box&gt;::type::value</a>
+<a name="l00228"></a>00228 &gt;::apply(os, box, settings);
+<a name="l00229"></a>00229 os &lt;&lt; settings.point_close;
+<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> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00235"></a>00235 <span class="keyword">struct </span>dsv_box
+<a name="l00236"></a>00236 {
+<a name="l00237"></a>00237 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;Box&gt;::type point_type;
+<a name="l00238"></a>00238
+<a name="l00239"></a>00239 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00240"></a>00240 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp; os,
+<a name="l00241"></a>00241 Box <span class="keyword">const</span>&amp; box,
+<a name="l00242"></a>00242 dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00243"></a>00243 {
+<a name="l00244"></a>00244 os &lt;&lt; settings.list_open;
+<a name="l00245"></a>00245 dsv_box_corner&lt;Box, 0&gt;::apply(os, box, settings);
+<a name="l00246"></a>00246 os &lt;&lt; settings.point_separator;
+<a name="l00247"></a>00247 dsv_box_corner&lt;Box, 1&gt;::apply(os, box, settings);
+<a name="l00248"></a>00248 os &lt;&lt; settings.list_close;
+<a name="l00249"></a>00249 }
+<a name="l00250"></a>00250 };
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252 }} <span class="comment">// namespace detail::dsv</span>
+<a name="l00253"></a>00253 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00254"></a>00254 <span class="preprocessor"></span>
+<a name="l00255"></a>00255
+<a name="l00256"></a>00256 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00257"></a>00257 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keywordtype">bool</span> IsMulti, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00260"></a>00260 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a> {};
+<a name="l00261"></a>00261
+<a name="l00262"></a>00262
+<a name="l00263"></a>00263 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00264"></a>00264 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>&lt;point_tag, false, Point&gt;
+<a name="l00265"></a>00265 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_point&lt;Point&gt;
+<a name="l00266"></a>00266 {};
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268
+<a name="l00269"></a>00269 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Line<span class="keywordtype">string</span>&gt;
+<a name="l00270"></a>00270 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>&lt;linestring_tag, false, Linestring&gt;
+<a name="l00271"></a>00271 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_range&lt;Linestring&gt;
+<a name="l00272"></a>00272 {};
+<a name="l00273"></a>00273
+<a name="l00274"></a>00274
+<a name="l00278"></a>00278 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00279"></a>00279 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>&lt;box_tag, false, Box&gt;
+<a name="l00280"></a>00280 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_box&lt;Box&gt;
+<a name="l00281"></a>00281 {};
+<a name="l00282"></a>00282
+<a name="l00283"></a>00283
+<a name="l00287"></a>00287 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring&gt;
+<a name="l00288"></a>00288 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>&lt;ring_tag, false, Ring&gt;
+<a name="l00289"></a>00289 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_range&lt;Ring&gt;
+<a name="l00290"></a>00290 {};
+<a name="l00291"></a>00291
+<a name="l00292"></a>00292
+<a name="l00296"></a>00296 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00297"></a>00297 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>&lt;polygon_tag, false, Polygon&gt;
+<a name="l00298"></a>00298 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_poly&lt;Polygon&gt;
+<a name="l00299"></a>00299 {};
+<a name="l00300"></a>00300
+<a name="l00301"></a>00301
+<a name="l00302"></a>00302 } <span class="comment">// namespace dispatch</span>
+<a name="l00303"></a>00303 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00304"></a>00304 <span class="preprocessor"></span>
+<a name="l00305"></a>00305
+<a name="l00319"></a>00319 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00320"></a><a class="code" href="classggl_1_1dsv__manipulator.html">00320</a> <span class="keyword">class </span><a class="code" href="classggl_1_1dsv__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">dsv_manipulator</a>
+<a name="l00321"></a>00321 {
+<a name="l00322"></a>00322 <span class="keyword">public</span>:
+<a name="l00323"></a>00323
+<a name="l00324"></a><a class="code" href="classggl_1_1dsv__manipulator.html#5bbe82845f3e20b44d2b75cc8faebf43">00324</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1dsv__manipulator.html#5bbe82845f3e20b44d2b75cc8faebf43">dsv_manipulator</a>(Geometry <span class="keyword">const</span>&amp; g,
+<a name="l00325"></a>00325 detail::dsv::dsv_settings <span class="keyword">const</span>&amp; settings)
+<a name="l00326"></a>00326 : m_geometry(g)
+<a name="l00327"></a>00327 , m_settings(settings)
+<a name="l00328"></a>00328 {}
+<a name="l00329"></a>00329
+<a name="l00330"></a>00330 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00331"></a><a class="code" href="classggl_1_1dsv__manipulator.html#5aa709742f33df7007f70baffcfc0d48">00331</a> <span class="keyword">inline</span> <span class="keyword">friend</span> std::basic_ostream&lt;Char, Traits&gt;&amp; <a class="code" href="classggl_1_1dsv__manipulator.html#5aa709742f33df7007f70baffcfc0d48">operator&lt;&lt;</a>(
+<a name="l00332"></a>00332 std::basic_ostream&lt;Char, Traits&gt;&amp; os,
+<a name="l00333"></a>00333 <a class="code" href="classggl_1_1dsv__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">dsv_manipulator</a> <span class="keyword">const</span>&amp; m)
+<a name="l00334"></a>00334 {
+<a name="l00335"></a>00335 <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dispatch::dsv</a>
+<a name="l00336"></a>00336 &lt;
+<a name="l00337"></a>00337 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00338"></a>00338 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;Geometry&gt;::type::value</a>,
+<a name="l00339"></a>00339 Geometry
+<a name="l00340"></a>00340 &gt;::apply(os, m.m_geometry, m.m_settings);
+<a name="l00341"></a>00341 os.flush();
+<a name="l00342"></a>00342 <span class="keywordflow">return</span> os;
+<a name="l00343"></a>00343 }
+<a name="l00344"></a>00344
+<a name="l00345"></a>00345 <span class="keyword">private</span>:
+<a name="l00346"></a>00346 Geometry <span class="keyword">const</span>&amp; m_geometry;
+<a name="l00347"></a>00347 detail::dsv::dsv_settings m_settings;
+<a name="l00348"></a>00348 };
+<a name="l00349"></a>00349
+<a name="l00354"></a>00354 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00355"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4">00355</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1dsv__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">dsv_manipulator&lt;Geometry&gt;</a> <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>(Geometry <span class="keyword">const</span>&amp; geometry
+<a name="l00356"></a>00356 , std::string <span class="keyword">const</span>&amp; coordinate_separator = <span class="stringliteral">", "</span>
+<a name="l00357"></a>00357 , std::string <span class="keyword">const</span>&amp; point_open = <span class="stringliteral">"("</span>
+<a name="l00358"></a>00358 , std::string <span class="keyword">const</span>&amp; point_close = <span class="stringliteral">")"</span>
+<a name="l00359"></a>00359 , std::string <span class="keyword">const</span>&amp; point_separator = <span class="stringliteral">", "</span>
+<a name="l00360"></a>00360 , std::string <span class="keyword">const</span>&amp; list_open = <span class="stringliteral">"("</span>
+<a name="l00361"></a>00361 , std::string <span class="keyword">const</span>&amp; list_close = <span class="stringliteral">")"</span>
+<a name="l00362"></a>00362 , std::string <span class="keyword">const</span>&amp; list_separator = <span class="stringliteral">", "</span>
+<a name="l00363"></a>00363 )
+<a name="l00364"></a>00364 {
+<a name="l00365"></a>00365 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1dsv__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">dsv_manipulator&lt;Geometry&gt;</a>(geometry,
+<a name="l00366"></a>00366 detail::dsv::dsv_settings(coordinate_separator,
+<a name="l00367"></a>00367 point_open, point_close, point_separator,
+<a name="l00368"></a>00368 list_open, list_close, list_separator));
+<a name="l00369"></a>00369 }
+<a name="l00370"></a>00370
+<a name="l00371"></a>00371
+<a name="l00372"></a>00372
+<a name="l00373"></a>00373 } <span class="comment">// namespace ggl</span>
+<a name="l00374"></a>00374
+<a name="l00375"></a>00375 <span class="preprocessor">#endif // GGL_UTIL_WRITE_DSV_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,84 @@
+<!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">
+&nbsp;&nbsp;
+</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/extensions/io/svg/write_svg.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1svg__manipulator.html">ggl::svg_manipulator&lt; G &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic geometry template manipulator class, takes corresponding output class from <a class="el" href="namespaceggl_1_1traits.html">traits</a> class. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</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&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">svg_manipulator&lt; Geometry &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd">ggl::svg</a> (Geometry const &amp;t, std::string const &amp;style, int size=-1)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main svg function to stream geometries as SVG. <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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,303 @@
+<!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">
+&nbsp;&nbsp;
+</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/extensions/io/svg/write_svg.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_IO_SVG_WRITE_SVG_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_IO_SVG_WRITE_SVG_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;iostream&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;string&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/concept/assert.hpp&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>&gt;</span>
+<a name="l00023"></a>00023
+<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="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a> {
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00036"></a>00036 <span class="keyword">struct </span>svg_point
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00039"></a>00039 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp; os,
+<a name="l00040"></a>00040 Point <span class="keyword">const</span>&amp; p, std::string <span class="keyword">const</span>&amp; style, <span class="keywordtype">int</span> size)
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 os &lt;&lt; <span class="stringliteral">"&lt;circle cx=\""</span> &lt;&lt; p.x()
+<a name="l00043"></a>00043 &lt;&lt; <span class="stringliteral">"\" cy=\""</span> &lt;&lt; p.y()
+<a name="l00044"></a>00044 &lt;&lt; <span class="stringliteral">"\" r=\""</span> &lt;&lt; (size &lt; 0 ? 5 : size)
+<a name="l00045"></a>00045 &lt;&lt; <span class="stringliteral">"\" style=\""</span> &lt;&lt; style &lt;&lt; <span class="stringliteral">"\"/&gt;"</span>;
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">private</span>:
+<a name="l00049"></a>00049 BOOST_CONCEPT_ASSERT( (concept::ConstPoint&lt;Point&gt;) );
+<a name="l00050"></a>00050 };
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00054"></a>00054 <span class="keyword">struct </span>svg_box
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp; os,
+<a name="l00058"></a>00058 Box <span class="keyword">const</span>&amp; box, std::string <span class="keyword">const</span>&amp; style, <span class="keywordtype">int</span> size)
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keywordtype">int</span> x = ggl::get&lt;ggl::min_corner, 0&gt;(box);
+<a name="l00061"></a>00061 <span class="keywordtype">int</span> y = ggl::get&lt;ggl::min_corner, 1&gt;(box);
+<a name="l00062"></a>00062 <span class="keywordtype">int</span> width = std::abs(ggl::get&lt;ggl::max_corner, 0&gt;(box) - x);
+<a name="l00063"></a>00063 <span class="keywordtype">int</span> height = std::abs(ggl::get&lt;ggl::max_corner, 1&gt;(box) - y);
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 os &lt;&lt; <span class="stringliteral">"&lt;rect x=\""</span> &lt;&lt; x &lt;&lt; <span class="stringliteral">"\" y=\""</span> &lt;&lt; y
+<a name="l00066"></a>00066 &lt;&lt; <span class="stringliteral">"\" width=\""</span> &lt;&lt; width &lt;&lt; <span class="stringliteral">"\" height=\""</span> &lt;&lt; height
+<a name="l00067"></a>00067 &lt;&lt; <span class="stringliteral">"\" style=\""</span> &lt;&lt; style &lt;&lt; <span class="stringliteral">"\"/&gt;"</span>;
+<a name="l00068"></a>00068 }
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">private</span>:
+<a name="l00071"></a>00071 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;Box&gt;::type</a> point_type;
+<a name="l00072"></a>00072 BOOST_CONCEPT_ASSERT( (concept::ConstPoint&lt;point_type&gt;) );
+<a name="l00073"></a>00073 };
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075
+<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Policy&gt;
+<a name="l00081"></a>00081 <span class="keyword">struct </span>svg_range
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00084"></a>00084 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp; os,
+<a name="l00085"></a>00085 Range <span class="keyword">const</span>&amp; range, std::string <span class="keyword">const</span>&amp; style, <span class="keywordtype">int</span> size)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type iterator;
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 os &lt;&lt; <span class="stringliteral">"&lt;"</span> &lt;&lt; Policy::prefix() &lt;&lt; <span class="stringliteral">" points=\""</span>;
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="keywordflow">for</span> (iterator it = boost::begin(range);
+<a name="l00094"></a>00094 it != boost::end(range);
+<a name="l00095"></a>00095 ++it, first = <span class="keyword">false</span>)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 os &lt;&lt; (first ? <span class="stringliteral">""</span> : <span class="stringliteral">" "</span> ) &lt;&lt; it-&gt;x() &lt;&lt; <span class="stringliteral">","</span> &lt;&lt; it-&gt;y();
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 os &lt;&lt; <span class="stringliteral">"\" style=\""</span> &lt;&lt; style &lt;&lt; Policy::style() &lt;&lt; <span class="stringliteral">"\"/&gt;"</span>;
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keyword">private</span>:
+<a name="l00103"></a>00103 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value&lt;Range&gt;::type point;
+<a name="l00104"></a>00104 BOOST_CONCEPT_ASSERT( (concept::ConstPoint&lt;point&gt;) );
+<a name="l00105"></a>00105 };
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00110"></a>00110 <span class="keyword">struct </span>svg_poly
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00113"></a>00113 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp; os,
+<a name="l00114"></a>00114 Polygon <span class="keyword">const</span>&amp; polygon, std::string <span class="keyword">const</span>&amp; style, <span class="keywordtype">int</span> size)
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type&lt;Polygon&gt;::type</a> ring_type;
+<a name="l00117"></a>00117 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;ring_type&gt;::type iterator_type;
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+<a name="l00120"></a>00120 os &lt;&lt; <span class="stringliteral">"&lt;g fill-rule=\"evenodd\"&gt;&lt;path d=\""</span>;
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 ring_type <span class="keyword">const</span>&amp; ring = <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon);
+<a name="l00123"></a>00123 <span class="keywordflow">for</span> (iterator_type it = boost::begin(ring);
+<a name="l00124"></a>00124 it != boost::end(ring);
+<a name="l00125"></a>00125 ++it, first = <span class="keyword">false</span>)
+<a name="l00126"></a>00126 {
+<a name="l00127"></a>00127 os &lt;&lt; (first ? <span class="stringliteral">"M"</span> : <span class="stringliteral">" L"</span>) &lt;&lt; <span class="stringliteral">" "</span> &lt;&lt; it-&gt;x() &lt;&lt; <span class="stringliteral">","</span> &lt;&lt; it-&gt;y();
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <span class="comment">// Inner rings:</span>
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00133"></a>00133 &lt;
+<a name="l00134"></a>00134 <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">ggl::interior_type&lt;Polygon&gt;::type</a>
+<a name="l00135"></a>00135 &gt;::type ring_iterator_type;
+<a name="l00136"></a>00136 <span class="keywordflow">for</span> (ring_iterator_type rit = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00137"></a>00137 rit != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00138"></a>00138 ++rit)
+<a name="l00139"></a>00139 {
+<a name="l00140"></a>00140 first = <span class="keyword">true</span>;
+<a name="l00141"></a>00141 <span class="keywordflow">for</span> (iterator_type it = boost::begin(*rit);
+<a name="l00142"></a>00142 it != boost::end(*rit);
+<a name="l00143"></a>00143 ++it, first = <span class="keyword">false</span>)
+<a name="l00144"></a>00144 {
+<a name="l00145"></a>00145 os &lt;&lt; (first ? <span class="stringliteral">"M"</span> : <span class="stringliteral">" L"</span>) &lt;&lt; <span class="stringliteral">" "</span> &lt;&lt; it-&gt;x() &lt;&lt; <span class="stringliteral">","</span> &lt;&lt; it-&gt;y();
+<a name="l00146"></a>00146 }
+<a name="l00147"></a>00147 }
+<a name="l00148"></a>00148 }
+<a name="l00149"></a>00149 os &lt;&lt; <span class="stringliteral">" z \" style=\""</span> &lt;&lt; style &lt;&lt; <span class="stringliteral">"\"/&gt;&lt;/g&gt;"</span>;
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 }
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 <span class="keyword">private</span>:
+<a name="l00154"></a>00154 BOOST_CONCEPT_ASSERT
+<a name="l00155"></a>00155 (
+<a name="l00156"></a>00156 (concept::ConstPoint&lt;<span class="keyword">typename</span> point_type&lt;Polygon&gt;::type&gt;)
+<a name="l00157"></a>00157 );
+<a name="l00158"></a>00158 };
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="keyword">struct </span>prefix_linestring
+<a name="l00163"></a>00163 {
+<a name="l00164"></a>00164 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* prefix() { <span class="keywordflow">return</span> <span class="stringliteral">"polyline"</span>; }
+<a name="l00165"></a>00165 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* style() { <span class="keywordflow">return</span> <span class="stringliteral">";fill:none"</span>; }
+<a name="l00166"></a>00166 };
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169 <span class="keyword">struct </span>prefix_ring
+<a name="l00170"></a>00170 {
+<a name="l00171"></a>00171 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* prefix() { <span class="keywordflow">return</span> <span class="stringliteral">"polygon"</span>; }
+<a name="l00172"></a>00172 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* style() { <span class="keywordflow">return</span> <span class="stringliteral">""</span>; }
+<a name="l00173"></a>00173 };
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 }} <span class="comment">// namespace detail::svg</span>
+<a name="l00178"></a>00178 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00179"></a>00179 <span class="preprocessor"></span>
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00182"></a>00182 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00183"></a>00183
+<a name="l00192"></a>00192 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry&gt;
+<a name="l00193"></a>00193 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a> {};
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00196"></a>00196 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>&lt;point_tag, Point&gt; : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_point&lt;Point&gt; {};
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Box&gt;
+<a name="l00199"></a>00199 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>&lt;box_tag, Box&gt; : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_box&lt;Box&gt; {};
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Line<span class="keywordtype">string</span>&gt;
+<a name="l00202"></a>00202 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>&lt;linestring_tag, Linestring&gt;
+<a name="l00203"></a>00203 : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_range&lt;Linestring, detail::svg::prefix_linestring&gt; {};
+<a name="l00204"></a>00204
+<a name="l00205"></a>00205 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring&gt;
+<a name="l00206"></a>00206 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>&lt;ring_tag, Ring&gt;
+<a name="l00207"></a>00207 : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_range&lt;Ring, detail::svg::prefix_ring&gt; {};
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon&gt;
+<a name="l00210"></a>00210 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>&lt;polygon_tag, Polygon&gt;
+<a name="l00211"></a>00211 : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_poly&lt;Polygon&gt; {};
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 } <span class="comment">// namespace dispatch</span>
+<a name="l00214"></a>00214 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00215"></a>00215 <span class="preprocessor"></span>
+<a name="l00216"></a>00216
+<a name="l00222"></a>00222 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
+<a name="l00223"></a><a class="code" href="classggl_1_1svg__manipulator.html">00223</a> <span class="keyword">class </span><a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator</a>
+<a name="l00224"></a>00224 {
+<a name="l00225"></a>00225 <span class="keyword">public</span>:
+<a name="l00226"></a>00226
+<a name="l00227"></a><a class="code" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">00227</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">svg_manipulator</a>(G <span class="keyword">const</span>&amp; g, std::string <span class="keyword">const</span>&amp; style, <span class="keywordtype">int</span> size)
+<a name="l00228"></a>00228 : m_geometry(g)
+<a name="l00229"></a>00229 , m_style(style)
+<a name="l00230"></a>00230 , m_size(size)
+<a name="l00231"></a>00231 {}
+<a name="l00232"></a>00232
+<a name="l00233"></a>00233 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00234"></a><a class="code" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">00234</a> <span class="keyword">inline</span> <span class="keyword">friend</span> std::basic_ostream&lt;Char, Traits&gt;&amp; <a class="code" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">operator&lt;&lt;</a>(
+<a name="l00235"></a>00235 std::basic_ostream&lt;Char, Traits&gt;&amp; os, <a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator</a> <span class="keyword">const</span>&amp; m)
+<a name="l00236"></a>00236 {
+<a name="l00237"></a>00237 <a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">dispatch::svg</a>
+<a name="l00238"></a>00238 &lt;
+<a name="l00239"></a>00239 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, G
+<a name="l00240"></a>00240 &gt;::apply(os, m.m_geometry, m.m_style, m.m_size);
+<a name="l00241"></a>00241 os.flush();
+<a name="l00242"></a>00242 <span class="keywordflow">return</span> os;
+<a name="l00243"></a>00243 }
+<a name="l00244"></a>00244
+<a name="l00245"></a>00245 <span class="keyword">private</span>:
+<a name="l00246"></a>00246 G <span class="keyword">const</span>&amp; m_geometry;
+<a name="l00247"></a>00247 std::string <span class="keyword">const</span>&amp; m_style;
+<a name="l00248"></a>00248 <span class="keywordtype">int</span> m_size;
+<a name="l00249"></a>00249 };
+<a name="l00250"></a>00250
+<a name="l00255"></a>00255 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00256"></a><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd">00256</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator&lt;Geometry&gt;</a> <a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>(Geometry <span class="keyword">const</span>&amp; t, std::string <span class="keyword">const</span>&amp; style, <span class="keywordtype">int</span> size = -1)
+<a name="l00257"></a>00257 {
+<a name="l00258"></a>00258 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator&lt;Geometry&gt;</a>(t, style, size);
+<a name="l00259"></a>00259 }
+<a name="l00260"></a>00260
+<a name="l00261"></a>00261 } <span class="comment">// namespace ggl</span>
+<a name="l00262"></a>00262
+<a name="l00263"></a>00263 <span class="preprocessor">#endif // GGL_IO_SVG_WRITE_SVG_HPP</span>
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg__multi_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg__multi_8hpp.html 2009-10-13 12:17:58 EDT (Tue, 13 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">
+&nbsp;&nbsp;
+</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/extensions/io/svg/write_svg_multi.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 &nbsp;</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg__multi_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg__multi_8hpp_source.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,138 @@
+<!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">
+&nbsp;&nbsp;
+</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/extensions/io/svg/write_svg_multi.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_IO_SVG_WRITE_SVG_MULTI_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_IO_SVG_WRITE_SVG_MULTI_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 &lt;<a class="code" href="write__svg_8hpp.html">ggl/extensions/io/svg/write_svg.hpp</a>&gt;</span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
+<a name="l00017"></a>00017 {
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a> {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiGeometry, <span class="keyword">typename</span> Policy&gt;
+<a name="l00024"></a>00024 <span class="keyword">struct </span>svg_multi
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits&gt;
+<a name="l00027"></a>00027 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream&lt;Char, Traits&gt;&amp; os,
+<a name="l00028"></a>00028 MultiGeometry <span class="keyword">const</span>&amp; multi, std::string <span class="keyword">const</span>&amp; style, <span class="keywordtype">int</span> size)
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator&lt;MultiGeometry&gt;::type
+<a name="l00031"></a>00031 it = boost::begin(multi);
+<a name="l00032"></a>00032 it != boost::end(multi);
+<a name="l00033"></a>00033 ++it)
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 Policy::apply(os, *it, style, size);
+<a name="l00036"></a>00036 }
+<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
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 }} <span class="comment">// namespace detail::svg</span>
+<a name="l00045"></a>00045 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00046"></a>00046 <span class="preprocessor"></span>
+<a name="l00047"></a>00047
+<a name="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>dispatch {
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> MultiPolygon&gt;
+<a name="l00053"></a>00053 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>&lt;multi_polygon_tag, MultiPolygon&gt;
+<a name="l00054"></a>00054 : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_multi
+<a name="l00055"></a>00055 &lt;
+<a name="l00056"></a>00056 MultiPolygon,
+<a name="l00057"></a>00057 detail::svg::svg_poly
+<a name="l00058"></a>00058 &lt;
+<a name="l00059"></a>00059 typename boost::range_value&lt;MultiPolygon&gt;::type
+<a name="l00060"></a>00060 &gt;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 &gt;
+<a name="l00063"></a>00063 {};
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 } <span class="comment">// namespace dispatch</span>
+<a name="l00067"></a>00067 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span>
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 } <span class="comment">// namespace ggl</span>
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="preprocessor">#endif // GGL_IO_SVG_WRITE_SVG_MULTI_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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x01__qt__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x01__qt__example_8cpp-example.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,156 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>x01_qt_example.cpp</h1>This sample demonstrates that by usage of concepts, external geometries can be handled by GGL, just calling by a one-line registration macro. In this case for the Qt Widget Library.<p>
+The example, code shown below, results in this window-output: <div align="center">
+<img src="x01_qt_example_output.png" alt="x01_qt_example_output.png">
+</div>
+<p>
+<div class="fragment"><pre class="fragment"><span class="comment">// Generic Geometry Library</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+
+<span class="comment">// Qt Example</span>
+
+<span class="comment">// Qt is a well-known and often used platform independent widget library </span>
+
+<span class="comment">// To build and run this example:</span>
+<span class="comment">// 1) download (from http://qt.nokia.com), configure and make QT </span>
+<span class="comment">// 2) if necessary, adapt Qt clause in include path</span>
+
+<span class="preprocessor">#include &lt;sstream&gt;</span>
+
+<span class="preprocessor">#include &lt;QtGui&gt;</span>
+
+<span class="preprocessor">#include &lt;ggl/ggl.hpp&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="register_2point_8hpp.html">ggl/geometries/register/point.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="ring_8hpp.html">ggl/geometries/register/ring.hpp</a>&gt;</span>
+
+
+<span class="comment">// Adapt a QPointF such that it can be handled by GGL</span>
+<a name="a0"></a><a class="code" href="register_2point_8hpp.html#1400081dc8c3320e31e0fb6ab3b777eb">GEOMETRY_REGISTER_POINT_2D_GET_SET</a>(QPointF, <span class="keywordtype">double</span>, cs::cartesian, x, y, setX, setY)
+
+<span class="comment">// Adapt a QPolygonF as well. </span>
+<span class="comment">// A QPolygonF has no holes (interiors) so it is similar to a GGL ring</span>
+<a name="a1"></a><a class="code" href="ring_8hpp.html#a5379fd615408c2561920ca9a7bda2d3">GEOMETRY_REGISTER_RING</a>(QPolygonF)
+
+
+<span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[])
+{
+ <span class="comment">// This usage QApplication and QLabel is adapted from </span>
+ <span class="comment">// http://en.wikipedia.org/wiki/Qt_(toolkit)#Qt_hello_world</span>
+ QApplication app(argc, argv);
+
+ <span class="comment">// Declare a polygon. This is just Qt. The Qt Polygon can be used</span>
+ <span class="comment">// in GGL as well, just by its oneline registration above.</span>
+ QPolygonF polygon;
+
+ <span class="comment">// Qt methods can be used, in this case to add points</span>
+ polygon
+ &lt;&lt; QPointF(10, 20) &lt;&lt; QPointF(20, 30)
+ &lt;&lt; QPointF(30, 20) &lt;&lt; QPointF(20, 10)
+ &lt;&lt; QPointF(10, 20);
+
+ <span class="comment">// GGL methods can be used, e.g. to calculate area </span>
+ std::ostringstream out;
+ out &lt;&lt; <span class="stringliteral">"GGL area: "</span> &lt;&lt; <a name="a2"></a><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">ggl::area</a>(polygon) &lt;&lt; std::endl;
+
+ <span class="comment">// Some functionality is defined in both Qt and GGL</span>
+ QPointF p(20,20);
+ out &lt;&lt; <span class="stringliteral">"Qt contains: "</span>
+ &lt;&lt; (polygon.containsPoint(p, Qt::WindingFill) ? <span class="stringliteral">"yes"</span> : <span class="stringliteral">"no"</span>)
+ &lt;&lt; std::endl
+ &lt;&lt; <span class="stringliteral">"GGL within: "</span>
+ &lt;&lt; (<a name="a3"></a><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, polygon) ? <span class="stringliteral">"yes"</span> : <span class="stringliteral">"no"</span>)
+ &lt;&lt; std::endl;
+ <span class="comment">// Detail: if point is ON boundary, Qt says yes, GGL says no.</span>
+
+
+ <span class="comment">// Qt defines an iterator </span>
+ <span class="comment">// (which is actually required for GGL, it's part of the ring-concept)</span>
+ <span class="comment">// such that GGL can use the points of this polygon</span>
+ QPolygonF::const_iterator it;
+ <span class="keywordflow">for</span> (it = polygon.begin(); it != polygon.end(); ++it)
+ {
+ <span class="comment">// Stream Delimiter-Separated, just to show something GGL can do</span>
+ out &lt;&lt; <a name="a4"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(*it) &lt;&lt; std::endl;
+ }
+
+ <span class="comment">// Stream the polygon as well</span>
+ out &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(polygon) &lt;&lt; std::endl;
+
+ <span class="comment">// Just show what we did in a label</span>
+ QLabel label(out.str().c_str());
+ label.show();
+ <span class="keywordflow">return</span> app.exec();
+
+ <span class="comment">// What else could be useful, functionality that GGL has and Qt not (yet)?</span>
+ <span class="comment">// - simplify a polygon (to get less points and preserve shape)</span>
+ <span class="comment">// - clip a polygon with a box</span>
+ <span class="comment">// - calculate the centroid</span>
+ <span class="comment">// - calculate the perimeter</span>
+ <span class="comment">// - calculate the convex hull</span>
+ <span class="comment">// - transform it using matrix transformations</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&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x01_qt_example_output.png
==============================================================================
Binary file. No diff available.

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x03__a__soci__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x03__a__soci__example_8cpp-example.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,140 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>x03_a_soci_example.cpp</h1>First example showing how to get spatial data from a database using SOCI and put them into GGL<p>
+<div class="fragment"><pre class="fragment"><span class="comment">// Generic Geometry Library</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+
+<span class="comment">// SOCI example</span>
+
+<span class="comment">// a: using boost::tuple to retrieve points</span>
+
+<span class="comment">// SOCI is a generic C++ template interface to access relational databases</span>
+
+<span class="comment">// To build and run this example:</span>
+<span class="comment">// 1) download SOCI from http://soci.sourceforge.net/>
+<span class="comment">// 2) put it in contrib/soci-3.0.0 (or another version/folder, but then update this VCPROJ)</span>
+<span class="comment">// 3) adapt your makefile or use this VCPROJ file</span>
+<span class="comment">// (note that SOCI sources are included directly, building SOCI is not necessary)</span>
+<span class="comment">// 4) load the demo-data, see script data/cities.sql (for PostgreSQL)</span>
+
+<span class="preprocessor">#include &lt;soci.h&gt;</span>
+<span class="preprocessor">#include &lt;soci-postgresql.h&gt;</span>
+
+<span class="preprocessor">#include &lt;boost/algorithm/string.hpp&gt;</span>
+<span class="preprocessor">#include &lt;boost/optional.hpp&gt;</span>
+<span class="preprocessor">#include &lt;boost/timer.hpp&gt;</span>
+<span class="preprocessor">#include &lt;boost/random.hpp&gt;</span>
+<span class="preprocessor">#include &lt;boost/tuple/tuple.hpp&gt;</span>
+
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+<span class="preprocessor">#include &lt;istream&gt;</span>
+<span class="preprocessor">#include &lt;ostream&gt;</span>
+<span class="preprocessor">#include &lt;sstream&gt;</span>
+<span class="preprocessor">#include &lt;string&gt;</span>
+<span class="preprocessor">#include &lt;exception&gt;</span>
+
+<span class="preprocessor">#include &lt;ggl/ggl.hpp&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="tuple__cartesian_8hpp.html">ggl/geometries/adapted/tuple_cartesian.hpp</a>&gt;</span>
+<span class="preprocessor">#include &lt;ggl/extensions/gis/io/wkt/wkt.hpp&gt;</span>
+
+
+
+<span class="keywordtype">int</span> main()
+{
+ <span class="keywordflow">try</span>
+ {
+ soci::session sql(soci::postgresql, <span class="stringliteral">"dbname=ggl user=ggl password=ggl"</span>);
+
+ <span class="keywordtype">int</span> count;
+ sql &lt;&lt; <span class="stringliteral">"select count(*) from cities"</span>, soci::into(count);
+ std::cout &lt;&lt; <span class="stringliteral">"# Capitals: "</span> &lt;&lt; count &lt;&lt; std::endl;
+
+ <span class="keyword">typedef</span> std::vector&lt;boost::tuple&lt;double, double&gt; &gt; V;
+
+ soci::rowset&lt;boost::tuple&lt;double, double&gt; &gt; rows
+ = sql.prepare &lt;&lt; <span class="stringliteral">"select x(location),y(location) from cities"</span>;
+ V vec;
+ std::copy(rows.begin(), rows.end(), std::back_inserter(vec));
+
+ <span class="keywordflow">for</span> (V::const_iterator it = vec.begin(); it != vec.end(); ++it)
+ {
+ std::cout &lt;&lt; it-&gt;get&lt;0&gt;() &lt;&lt; <span class="stringliteral">" "</span> &lt;&lt; it-&gt;get&lt;1&gt;() &lt;&lt; std::endl;
+ }
+ <span class="comment">// Calculate distances</span>
+ <span class="keywordflow">for</span> (V::const_iterator it1 = vec.begin(); it1 != vec.end(); ++it1)
+ {
+ <span class="keywordflow">for</span> (V::const_iterator it2 = vec.begin(); it2 != vec.end(); ++it2)
+ {
+ std::cout &lt;&lt; <a name="a0"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(*it1) &lt;&lt; <span class="stringliteral">" "</span> &lt;&lt; <a name="a1"></a><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(*it1, *it2) &lt;&lt; std::endl;
+ }
+ }
+ }
+ <span class="keywordflow">catch</span> (std::exception <span class="keyword">const</span> &amp;e)
+ {
+ std::cerr &lt;&lt; <span class="stringliteral">"Error: "</span> &lt;&lt; e.what() &lt;&lt; <span class="charliteral">'\n'</span>;
+ }
+ <span class="keywordflow">return</span> 0;
+}
+</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&nbsp;
Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x03__b__soci__example_8cpp-example.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x03__b__soci__example_8cpp-example.html 2009-10-13 12:17:58 EDT (Tue, 13 Oct 2009)
@@ -0,0 +1,162 @@
+<!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">
+&nbsp;&nbsp;
+</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>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>x03_b_soci_example.cpp</h1>Second example showing how to get polygons from a database using SOCI and put them into GGL, using WKT. In the near future this will also be possible using WKB.<p>
+<div class="fragment"><pre class="fragment"><span class="comment">// Generic Geometry Library</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+
+<span class="comment">// SOCI example</span>
+
+<span class="comment">// b: using WKT to retrieve points</span>
+
+<span class="comment">// To build and run this example, see comments in example a</span>
+
+<span class="preprocessor">#include &lt;soci.h&gt;</span>
+<span class="preprocessor">#include &lt;soci-postgresql.h&gt;</span>
+
+<span class="preprocessor">#include &lt;boost/algorithm/string.hpp&gt;</span>
+<span class="preprocessor">#include &lt;boost/optional.hpp&gt;</span>
+<span class="preprocessor">#include &lt;boost/timer.hpp&gt;</span>
+<span class="preprocessor">#include &lt;boost/random.hpp&gt;</span>
+<span class="preprocessor">#include &lt;boost/tuple/tuple.hpp&gt;</span>
+
+<span class="preprocessor">#include &lt;iostream&gt;</span>
+<span class="preprocessor">#include &lt;istream&gt;</span>
+<span class="preprocessor">#include &lt;ostream&gt;</span>
+<span class="preprocessor">#include &lt;sstream&gt;</span>
+<span class="preprocessor">#include &lt;string&gt;</span>
+<span class="preprocessor">#include &lt;exception&gt;</span>
+
+<span class="preprocessor">#include &lt;ggl/ggl.hpp&gt;</span>
+<span class="preprocessor">#include &lt;<a class="code" href="geometries_8hpp.html">ggl/geometries/geometries.hpp</a>&gt;</span>
+
+<span class="preprocessor">#include &lt;ggl/extensions/gis/io/wkt/wkt.hpp&gt;</span>
+
+
+<span class="keyword">struct </span>city
+{
+ <a name="_a0"></a><a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">ggl::point&lt;float, 2, ggl::cs::geographic&lt;ggl::degree&gt;</a> &gt; location;
+ std::string name;
+};
+
+<span class="keyword">namespace </span>soci
+{
+ <span class="keyword">template</span> &lt;&gt;
+ <span class="keyword">struct </span>type_conversion&lt;city&gt;
+ {
+ <span class="keyword">typedef</span> soci::values base_type;
+
+ <span class="keyword">static</span> <span class="keywordtype">void</span> from_base(<span class="keyword">const</span> base_type&amp; v, soci::indicator ind, city&amp; value)
+ {
+ <span class="keywordflow">try</span>
+ {
+ value.name = v.get&lt;std::string&gt;(<span class="stringliteral">"name"</span>);
+ ggl::read_wkt(v.get&lt;std::string&gt;(<span class="stringliteral">"wkt"</span>), value.location);
+ }
+ <span class="keywordflow">catch</span>(<span class="keyword">const</span> std::exception&amp; e)
+ {
+ std::cout &lt;&lt; e.what() &lt;&lt; std::endl;
+ }
+ }
+
+ <span class="keyword">static</span> <span class="keywordtype">void</span> to_base(<span class="keyword">const</span> city&amp; value, base_type&amp; v, soci::indicator&amp; ind)
+ {
+ v.set(<span class="stringliteral">"name"</span>, value.name);
+ std::ostringstream out;
+ out &lt;&lt; ggl::wkt(value.location);
+ v.set(<span class="stringliteral">"wkt"</span>, out.str());
+ ind = i_ok;
+ }
+ };
+}
+
+<span class="keywordtype">int</span> main()
+{
+ <span class="keywordflow">try</span>
+ {
+ soci::session sql(soci::postgresql, <span class="stringliteral">"dbname=ggl user=ggl password=ggl"</span>);
+
+
+ <span class="keyword">typedef</span> std::vector&lt;city&gt; V;
+
+ soci::rowset&lt;city&gt; rows = sql.prepare &lt;&lt; <span class="stringliteral">"select name,astext(location) as wkt from cities"</span>;
+ V vec;
+ std::copy(rows.begin(), rows.end(), std::back_inserter(vec));
+
+ <span class="keywordflow">for</span> (V::const_iterator it = vec.begin(); it != vec.end(); ++it)
+ {
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sqrkm = 1000.0 * 1000.0;
+ std::cout &lt;&lt; it-&gt;name
+ &lt;&lt; <span class="stringliteral">" "</span> &lt;&lt; <a name="a1"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(it-&gt;location)
+ <span class="comment">//&lt;&lt; " " &lt;&lt; ggl::area(it-&gt;shape) / sqrkm &lt;&lt; " km2" </span>
+ &lt;&lt; std::endl;
+ }
+ }
+ <span class="keywordflow">catch</span> (std::exception <span class="keyword">const</span> &amp;e)
+ {
+ std::cerr &lt;&lt; <span class="stringliteral">"Error: "</span> &lt;&lt; e.what() &lt;&lt; <span class="charliteral">'\n'</span>;
+ }
+ <span class="keywordflow">return</span> 0;
+}
+</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&nbsp;Doxygen
+</small></address>
+</body>
+</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